-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathSolution.java
34 lines (31 loc) · 1.07 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
34
class Solution {
public boolean lemonadeChange(int[] bills) {
Map<Integer, Integer> remains = new HashMap<Integer, Integer>();
remains.put(5, 0);
remains.put(10, 0);
for (int bill : bills) {
int remains_5 = remains.get(5),
remains_10 = remains.get(10);
if (bill == 5) {
remains.put(5, remains_5 + 1);
} else if (bill == 10) {
if (remains_5 > 0) {
remains.put(5, remains_5 - 1);
remains.put(10, remains_10 + 1);
} else {
return false;
}
} else if (bill == 20) {
if (remains_10 > 0 && remains_5 > 0) {
remains.put(5, remains_5 - 1);
remains.put(10, remains_10 - 1);
} else if (remains_5 >= 3) {
remains.put(5, remains_5 - 3);
} else {
return false;
}
}
}
return true;
}
}