题目:
https://leetcode.com/problems/arithmetic-slices/?tab=Description
翻译:
如果数字序列由至少三个元素组成,并且任何两个连续元素之间的差相同,则该数字序列被称为算术。 例如,这些是算术序列:
1,3,5,7,9 7,7,7,7 3,-1,-5,-9 以下序列不是算术。 1,1,2,5,7
给出由N个数字组成的零索引数组A. 该阵列的片是任何一对整数(P,Q),使得0 <= P
思路:
答案:
class Solution {
public:
int numberOfArithmeticSlices(
vector<int>& A) {
int n = A.size();
if (n <
3)
return 0;
vector<int> dp(A.size(),
0);
int res =
0;
for (
int i =
2; i < n; i ++)
{
if (A[i] - A[i -
1] == A[i -
1] - A[i -
2])
dp[i] = dp[i -
1] +
1;
res += dp[i];
}
return res;
}
};
转载请注明原文地址: https://ju.6miu.com/read-24807.html