注意边界情况
class Solution { public: int numberOfArithmeticSlices(vector<int>& A) { if(A.size()<3) { return 0; } vector<int> dp; int count=1; int sum=0; int minus=A[1]-A[0]; for(int i=2;i<A.size();i++) { if(minus==A[i]-A[i-1]) { count++; } else { minus=A[i]-A[i-1]; dp.push_back(count); count=1; } } if(minus==A[A.size()-1]-A[A.size()-2]) { dp.push_back(count); } for(int i=0;i<dp.size();i++) { if(dp[i]>=2) { sum+=(dp[i]+1-2)*(dp[i]+1-2+1)/2; } } return sum; } };