LC.P860[柠檬水找零]

方法一:贪心+模拟

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
class Solution {
public boolean lemonadeChange(int[] bills) {
int cnt5 = 0, cnt10 = 0;
for (int bill : bills) {
switch (bill) {
case 5 -> ++cnt5;
case 10 -> {
--cnt5;
++cnt10;
}
case 20 -> {
if (cnt10 > 0) {
--cnt10;
--cnt5;
} else {
cnt5 -= 3;
}
}
}
if (cnt5 < 0) return false;
}
return true;
}
}
  • 时间复杂度:$O(n)$
  • 空间复杂度:$O(1)$