题目描述
解法
- 贪心
- 我们所持有的面额只有5 10 20
- 相应我们需要找的钱为0 5 15
- 5块钱直接忽略
- 10块钱看还有没有5元的零钱
- 20块钱的分两种情况
- 5+10
- 5+5+5
- 这里优先考虑5+10,因为5元的用处更多,我们要尽可能的保留5元面值的钱
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
| class Solution { public boolean lemonadeChange(int[] bills) { boolean result = true; int money5 = 0; int money10 = 0; for (int i = 0; i < bills.length; i++) { if (bills[i] == 5) { money5++; } else if (bills[i] == 10) { if (money5 <= 0) { return false; } else { money5--; money10++; continue; } } else if ((bills[i] == 20)) { if (money5 > 0 && money10 > 0) { money5--; money10--; } else if (money5 > 2) { money5 = money5 - 3; } else { return false; } } } return result; } }
|
来源:力扣(LeetCode)
链接:860. 柠檬水找零 - 力扣(LeetCode) (leetcode-cn.com)