Leetcode-413 Arithmetic Slices(等差数列划分)
Posted Asurudo Jyo の 倉 庫
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Leetcode-413 Arithmetic Slices(等差数列划分)相关的知识,希望对你有一定的参考价值。
1 #define _for(i,a,b) for(int i = (a);i < (b);i ++) 2 class Solution 3 { 4 public: 5 int f(int len) 6 { 7 int sum = 0; 8 len -= 2; 9 _for(i,1,len+1) 10 sum += i; 11 return sum; 12 } 13 int numberOfArithmeticSlices(vector<int>& A) 14 { 15 int cur = 0; 16 if(A.size()<2) 17 return 0; 18 19 int rnt = 0; 20 _for(i,0,A.size()) 21 { 22 if(!cur&&A[i]-A[i+1]==A[i+1]-A[i+2]) 23 { 24 cur = 3; 25 i += 2; 26 } 27 else if(cur&&A[i]-A[i-1]==A[i-1]-A[i-2]) 28 cur ++; 29 else 30 { 31 rnt += f(cur); 32 cur = 0; 33 if(!cur&&A[i]-A[i+1]==A[i+1]-A[i+2]) 34 { 35 cur = 3; 36 i += 2; 37 } 38 } 39 } 40 rnt += f(cur); 41 return rnt; 42 } 43 };
以上是关于Leetcode-413 Arithmetic Slices(等差数列划分)的主要内容,如果未能解决你的问题,请参考以下文章
[leetcode-413-Arithmetic Slices]
Leetcode413. Arithmetic Slices
leetcode 413. Arithmetic Slices 等差数列划分
(Java) LeetCode 413. Arithmetic Slices —— 等差数列划分