来水一题
class Solution {
public:
int numberOfArithmeticSlices(vector<int>& A) {
if (A.size() < 3)
return 0;
int counts=0;
vector<bool>visited(A.size(), false);
for (int i = 0; i < A.size()-2; i++) {
if (visited[i] == false) {
int delta = A[i + 1] - A[i];
int count = 1;
for (int j = i + 1; j < A.size(); j++) {
if (A[j] - A[j - 1] == delta) {
count++;
visited[j] = true;
}
else
break;
}
if (count >= 3) //可以省略
counts += (count - 1)*(count - 2) / 2;
else
visited[i + 1] = false;
}
}
return counts;
}
};