题目链接
    image.pngimage.png
    贪心算法:对其找到局部最优。对于五块,我能不使用就不使用。因为五块是万能的。
    局部最优解可以解决并且不影响我的最终的结果,那么就可以使用贪心算法。

    class Solution {
        public boolean lemonadeChange(int[] bills) {
            int n = bills.length;
            int a5 = 0,a10 = 0, a20 = 0; // 记录纸张
            for(int i = 0; i < n; i++) {
                if(bills[i] == 5) {
                    a5++;
                } else if(bills[i] == 10) {
                    if(a5 > 0) {
                        a5--;
                        a10++;
                    } else {
                        return false;
                    }
                } else if(bills[i] == 20) {
                    if(a5 > 0 && a10 > 0) {
                        a5--;
                        a10--;
                        a20++;
                    } else if(a5 >=3){
                        a5 = a5 - 3;
                        a20++;
                    } else {
                        return false;
                    }
                }
            }
    
            return true;
    
        }
    }