413. Arithmetic Slices

Description

image-20210811000154179

Solution

Iteration to find start & end of each Arithmetic

Code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
class Solution {
public:
int numberOfArithmeticSlices(vector<int>& nums) {
if(nums.size() < 3)
return 0;
vector<int> diff(nums.size()-1);
for(int i = 1; i < nums.size(); i++){
diff[i-1] = nums[i] - nums[i-1];
}
int prev = diff[0], count = 0, res = 0;
for(int i = 1; i < diff.size(); i++){
if(prev == diff[i]){
count++;
res += count;
}else{
count = 0;
}
prev = diff[i];
}
return res;
}
};

413-2