LeetCode 题解:860. 柠檬水找零,模拟情境,JavaScript,详细注释
原题链接:https://leetcode-cn.com/problems/lemonade-change/
解题思路:
首先梳理一下题意:
* 零钱只有5元和10元两种。
* 该题只关心是否足够找零,因此收入时只需要考虑收入的零钱数量即可,至于赚了多少钱无需考虑。
每次收入都对应3种可能情况,以此模拟找零过程:
* 收入5元,此时5元零钱数量加1。
* 收入10元,此时10元零钱数量加1,5元零钱数量减1。
* 收入20元,由于5元零钱更加通用,因此若有10元零钱,则找零10元和5元。若没有10元零钱,则找零3张5元。
每次完成找零后,查看零钱数量是否为负,若是则表示零钱不够找零,返回false。
如果能正常退出循环,表示零钱数量都>=0,则返回true。
版权声明: 本文为 InfoQ 作者【Lee Chen】的原创文章。
原文链接:【http://xie.infoq.cn/article/aa77b7bdac30c439cee0cb349】。文章转载请联系作者。
评论