Skip to content

Commit 9076ca2

Browse files
arithmetic slices
1 parent 9111de9 commit 9076ca2

File tree

2 files changed

+41
-0
lines changed

2 files changed

+41
-0
lines changed
+40
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
package medium;
2+
3+
public class ArithmeticSlices {
4+
5+
//copied this solution: https://discuss.leetcode.com/topic/62884/2ms-java-o-n-time-o-1-space-solution
6+
public int numberOfArithmeticSlices(int[] A) {
7+
int sum = 0, len = 2;
8+
for (int i = 2; i < A.length; i++){
9+
if (A[i] - A[i-1] == A[i-1] - A[i-2]){
10+
len++;
11+
} else {
12+
if (len > 2) sum += calculateSlices(len);
13+
len = 2;//reset it to 2
14+
}
15+
}
16+
if(len > 2) sum += calculateSlices(len);
17+
return sum;
18+
}
19+
20+
int calculateSlices(int len){
21+
return (len-1)*(len-2)/2;
22+
}
23+
24+
class Solution2{
25+
//a more clear solution: https://discuss.leetcode.com/topic/63302/simple-java-solution-9-lines-2ms
26+
public int numberOfArithmeticSlices(int[] A) {
27+
int sum = 0, curr = 0;
28+
for (int i = 2; i < A.length; i++){
29+
if (A[i] - A[i-1] == A[i-1] - A[i-2]){
30+
curr++;
31+
sum += curr;
32+
} else {
33+
curr = 0;
34+
}
35+
}
36+
return sum;
37+
}
38+
}
39+
40+
}

README.md

+1
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
|419|[Battleships in a Board](https://leetcode.com/problems/battleships-in-a-board/)|[Solution](../../blob/master/MEDIUM/src/medium/BattleshipsinaBoard.java) | O(n^2) |O(1) | Medium| DFS
77
|417|[Pacific Atlantic Water Flow](https://leetcode.com/problems/pacific-atlantic-water-flow/)|[Solution](../../blob/master/MEDIUM/src/medium/PacificAtlanticWaterFlow.java) | O(m*n*Max(m,n)) |O(m*n) | Medium| DFS
88
|415|[Add Strings](https://leetcode.com/problems/add-strings/)|[Solution](../../blob/master/EASY/src/easy/AddStrings.java)| O(n)|O(1) | Easy|
9+
|413|[Arithmetic Slices](https://leetcode.com/problems/arithmetic-slices/)|[Solution](../../blob/master/MEDIUM/src/medium/ArithmeticSlices.java) | O(n) |O(1) | Medium| DP
910
|412|[Fizz Buzz](https://leetcode.com/problems/fizz-buzz/)|[Solution](../../blob/master/EASY/src/easy/FizzBuzz.java)| O(n)|O(1) | Easy|
1011
|404|[Sum of Left Leaves](https://leetcode.com/problems/sum-of-left-leaves/)|[Solution](../../blob/master/EASY/src/easy/SumofLeftLeaves.java)| O(n)|O(h) | Easy|
1112
|398|[Random Pick Index](https://leetcode.com/problems/random-pick-index/)|[Solution](../../blob/master/MEDIUM/src/medium/RandomPickIndex.java) | | | Medium| Reservoir Sampling

0 commit comments

Comments
 (0)