Skip to content

Commit 2101946

Browse files
135. Candy (java)
1 parent fbf332d commit 2101946

File tree

1 file changed

+33
-0
lines changed

1 file changed

+33
-0
lines changed

solution/0135.Candy/Solution.java

+33
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
class Solution {
2+
public int candy(int[] ratings) {
3+
if (ratings == null || ratings.length == 0) return 0;
4+
else if (ratings.length == 1) return 1;
5+
int base = 1 ,cur = base ,sum = cur ,smallNum = 0 ,lastBigCur = cur;
6+
for (int i = 1; i < ratings.length; i++) {
7+
if (ratings[i - 1] < ratings[i]) {
8+
smallNum = 0;
9+
cur += base;
10+
lastBigCur = cur;
11+
sum += cur;
12+
} else if (ratings[i - 1] == ratings[i]) {
13+
smallNum = 0;
14+
cur = base;
15+
lastBigCur = cur;
16+
sum += base;
17+
} else {
18+
if (cur == base) {
19+
smallNum++;
20+
sum = sum + cur + smallNum;
21+
if (lastBigCur - 1 == smallNum) {
22+
lastBigCur += base;
23+
sum += base;
24+
}
25+
} else {
26+
cur = base;
27+
sum += cur;
28+
}
29+
}
30+
}
31+
return sum;
32+
}
33+
}

0 commit comments

Comments
 (0)