-
Notifications
You must be signed in to change notification settings - Fork 13
/
Solution860.java
47 lines (43 loc) · 1.11 KB
/
Solution860.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
35
36
37
38
39
40
41
42
43
44
45
46
47
package algorithm.leetcode;
/**
* @author: mayuan
* @desc: 柠檬水找零
* @date: 2019/01/23
*/
public class Solution860 {
public boolean lemonadeChange(int[] bills) {
if (null == bills || 0 >= bills.length) {
return true;
}
int d5 = 0;
int d10 = 0;
for (int e : bills) {
if (5 == e) {
++d5;
} else if (10 == e) {
// 找零5美元
if (0 < d5) {
++d10;
--d5;
} else {
return false;
}
} else {
// 找零15美元
// 1. d10 + d5 (一张10美元+一张5美元)
// 2. 3*d5 (三张5美元)
// 3. 无法找零
if (0 < d10 && 0 < d5) {
--d10;
--d5;
} else if (3 <= d5) {
d5 -= 3;
} else {
// 无法找零
return false;
}
}
}
return true;
}
}