// 定义一个名为Solution的类
class Solution {// 定义一个公开的方法lemonadeChange,接收一个整数数组作为参数,并返回一个布尔值public boolean lemonadeChange(int[] bills) {// 初始化持有5元和10元硬币的数量分别为0int five = 0;int ten = 0;// 遍历输入的硬币数组for (int i = 0; i < bills.length; i++) {// 当前硬币面额为5元时,增加5元硬币数量if (bills[i] == 5) {five++;}// 当前硬币面额为10元时,减少一个5元硬币,增加一个10元硬币else if (bills[i] == 10) {five--;ten++;}// 当前硬币面额为20元时else if (bills[i] == 20) {// 若有足够的10元硬币,使用一个10元和一个5元硬币找零if (ten > 0) {ten--;five--;}// 若没有10元硬币,使用三个5元硬币找零else {five -= 3;}}// 若在找零过程中5元或10元硬币数量变为负数,则无法完成找零,返回falseif (five < 0 || ten < 0) return false;}// 遍历结束后未出现无法找零的情况,说明全部支付都能完成找零,返回truereturn true;}
}