目录
- 一、题目描述
- 二、算法原理
- 三、代码实现
一、题目描述
二、算法原理
三、代码实现
class Solution {
public:
int numberOfArithmeticSlices(vector<int>& nums)
{
int n=nums.size();
if(n<3) return 0;
vector<int> dp(n);
dp[2]=dp[1]=dp[0]=0;
if(nums[2]-nums[1]==nums[1]-nums[0]) dp[2]=1;
int ret=dp[2];
for(int i=3;i<n;i++)
{
if(nums[i]-nums[i-1]==nums[i-1]-nums[i-2]) dp[i]=dp[i-1]+1;
else dp[i]=0;
ret+=dp[i];
}
return ret;
}
};