首页 > 代码库 > leetcode413 Aritmetic Slices Java

leetcode413 Aritmetic Slices Java

题目描述的不是太清楚。

1、A不一定是一个等差数列

2、等差数列必须在A中连续

也就是说如果A={1,3,5,6,8},那么返回结果就是1。{1,3,5}

A={1,3,5,7,6,8},那么返回结果就是3。{1,3,5},{3,5,7},{1,3,5,7}

 1     public int numberOfArithmeticSlices(int[] A) {
 2         if(A.length <3) return 0;
 3         int result = 0;
 4         int curr = 0;
 5         for(int i=2; i<A.length; i++) {
 6             if(A[i-1] - A[i-2] == A[i] - A[i-1]) {
 7                 curr ++;
 8                 result += curr;
 9             }else {
10                 curr = 0;
11             }
12         }
13         return result;
14     }

 

leetcode413 Aritmetic Slices Java