思路:

收到5块时,只是添加;收到十块时,添加10块,删除一个5块;收到20块时,添加20,删除一个10块一个5块,或者直接删除3个5块(注意:这里先删除5+10优于3个5)

class Solution(object):def lemonadeChange(self, bills):""":type bills: List[int]:rtype: bool"""exchange=[]for i in bills:exchange.append(i)if i==5:continueelif i==10:if exchange.count(5)>=1:exchange.remove(5)else:return Falseelse:if exchange.count(5)>=1 and exchange.count(10)>=1:exchange.remove(5)exchange.remove(10)elif exchange.count(5)>=3:exchange.remove(5)exchange.remove(5)exchange.remove(5)else:return Falsereturn True

结果无误,但是速度太慢,反复对元素进行添加,查找,删除等操作。

其实根本没必要对bills的元素反复进行查找删除操作,只需要2个整数分别记录5块,10块的个数即可。

class Solution(object):def lemonadeChange(self, bills):""":type bills: List[int]:rtype: bool"""five,ten=0,0for i in bills:if i==5:five+=1elif i==10:ten+=1if five>=1:five-=1else:return Falseelse:if five>=1 and ten>=1:five-=1ten-=1elif five>=3:five-=3else:return Falsereturn True

复杂度分析:

  • 时间复杂度:O(n),遍历bills
  • 空间复杂度O(1).

转载于:https://www.cnblogs.com/nicetoseeyou/p/10407407.html

[LeetCode] 860. 柠檬水找零 lemonade-change(贪心算法)相关推荐

  1. C语言/860.(柠檬水找零)Lemonade Change

    先上题目 在柠檬水摊上,每一杯柠檬水的售价为 5 美元. 顾客排队购买你的产品,(按账单 bills 支付的顺序)一次购买一杯. 每位顾客只买一杯柠檬水,然后向你付 5 美元.10 美元或 20 美元 ...

  2. LeetCode[860] 柠檬水找零 (贪心)

    PS: 本题目摘自 LeetCode 860 原题 柠檬水找零,一道贪心算法问题 题目描述 在柠檬水摊上,每一杯柠檬水的售价为 5 美元. 顾客排队购买你的产品,(按账单 bills 支付的顺序)一次 ...

  3. leetcode: 860. 柠檬水找零

    860. 柠檬水找零 来源:力扣(LeetCode) 链接: https://leetcode.cn/problems/lemonade-change/ 在柠檬水摊上,每一杯柠檬水的售价为 5 美元. ...

  4. leetcode.860. 柠檬水找零

    860. 柠檬水找零 在柠檬水摊上,每一杯柠檬水的售价为 5 美元. 顾客排队购买你的产品,(按账单 bills 支付的顺序)一次购买一杯. 每位顾客只买一杯柠檬水,然后向你付 5 美元.10 美元或 ...

  5. LeetCode#860: 柠檬水找零

    题目(LeetCode#860) 在柠檬水摊上,每一杯柠檬水的售价为 5 美元. 顾客排队购买你的产品,(按账单 bills 支付的顺序)一次购买一杯. 每位顾客只买一杯柠檬水,然后向你付 5 美元. ...

  6. LeetCode 860. 柠檬水找零(贪心)

    1. 题目 在柠檬水摊上,每一杯柠檬水的售价为 5 美元. 顾客排队购买你的产品,(按账单 bills 支付的顺序)一次购买一杯. 每位顾客只买一杯柠檬水,然后向你付 5 美元.10 美元或 20 美 ...

  7. LeetCode 860.柠檬水找零(C++)

    在柠檬水摊上,每一杯柠檬水的售价为 5 美元. 顾客排队购买你的产品,(按账单 bills 支付的顺序)一次购买一杯. 每位顾客只买一杯柠檬水,然后向你付 5 美元.10 美元或 20 美元.你必须给 ...

  8. leetcode 860. 柠檬水找零(贪心算法)

    在柠檬水摊上,每一杯柠檬水的售价为 5 美元. 顾客排队购买你的产品,(按账单 bills 支付的顺序)一次购买一杯. 每位顾客只买一杯柠檬水,然后向你付 5 美元.10 美元或 20 美元.你必须给 ...

  9. Leetcode——860.柠檬水找零——题解—+代码实现

    一.题目 在柠檬水摊上,每一杯柠檬水的售价为 5 美元. 顾客排队购买你的产品,(按账单 bills 支付的顺序)一次购买一杯. 每位顾客只买一杯柠檬水,然后向你付 5 美元.10 美元或 20 美元 ...

  10. LeetCode 860. 柠檬水找零 (简单)greedy

    题目 在柠檬水摊上,每一杯柠檬水的售价为 5 美元. 顾客排队购买你的产品,(按账单 bills 支付的顺序)一次购买一杯. 每位顾客只买一杯柠檬水,然后向你付 5 美元.10 美元或 20 美元.你 ...

最新文章

  1. aac fhg lc哪一个模式_电流模式变换器输出LC滤波器对反馈环影响
  2. 生成四位验证码php,PHP生成四位整数验证码图片及使用例子
  3. R语言较为特殊的一些运算符
  4. 科大星云诗社动态20210522
  5. cxf整合spring错误为:cvc-complex-type.2.4.c
  6. Java核心类库-IO-打印流(PrintStream/PrintWriter)
  7. CentOS下设置vim的tab键为4格
  8. 编程基础 之 位运算专题
  9. 计算机专业想从事考古,考古专业一月工资多少 是冷门专业吗
  10. 迁移到云端之前需要考虑哪些问题?
  11. 【人工智能】非线性分类器(QDU)
  12. Executing statements
  13. 消防水池液位报警装置设置参数
  14. python什么时候需要加引号_Python篇(一) 引号的作用及其区别
  15. 计算机中丢失vcl190,VCL画图实例
  16. oracle环境变量NLS值,设置NLS_LANG环境变量
  17. Freertos基本概念----(猫和老鼠)
  18. html5扩展函数的使用方法,知识分享:JavaScript基础语法
  19. 管理员如何操作才能提高raid5数据恢复成功率
  20. iconv命令utf-8文件转为gbk文件

热门文章

  1. windows PC电脑必备3个实用软件
  2. 音频音量控制工具SoundSource 5 for Mac
  3. Mac项目流程管理工具:OmniPlan Pro 4.4
  4. MATLAB R2021b for Mac(可视化数学分析软件)
  5. Mac Dock截图的小技巧
  6. Mac Pycharm2020 打不开的解决方法
  7. 如何在Pages for Mac中添加页眉、页脚和页码?
  8. JavaScript学习(十四)---String对象中的模式匹配方法
  9. 面向对象的思考过程 (马特·魏斯费尔德 著)
  10. django、tornado、flask对比