forked from doocs/leetcode
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathSolution.java
33 lines (33 loc) · 1.06 KB
/
Solution.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
class Solution {
public int candy(int[] ratings) {
if (ratings == null || ratings.length == 0) return 0;
else if (ratings.length == 1) return 1;
int base = 1 ,cur = base ,sum = cur ,smallNum = 0 ,lastBigCur = cur;
for (int i = 1; i < ratings.length; i++) {
if (ratings[i - 1] < ratings[i]) {
smallNum = 0;
cur += base;
lastBigCur = cur;
sum += cur;
} else if (ratings[i - 1] == ratings[i]) {
smallNum = 0;
cur = base;
lastBigCur = cur;
sum += base;
} else {
if (cur == base) {
smallNum++;
sum = sum + cur + smallNum;
if (lastBigCur - 1 == smallNum) {
lastBigCur += base;
sum += base;
}
} else {
cur = base;
sum += cur;
}
}
}
return sum;
}
}