力扣算法习题——拿硬币
来源:网络收集 点击: 时间:2024-05-05【导读】:
题目描述:桌上有n堆力扣币,每堆的数量保存在数组coins中。我们每次可以选择任意一堆,拿走其中的一枚或者两枚,求拿完所有力扣币的最少次数。方法/步骤1/15分步阅读
2/15
4/15
6/15
8/15
9/15
10/15
11/15
12/15
13/15
14/15
15/15
PYTHON算法
示例1。如图示

解释:第一堆力扣币最少需要拿 2 次,第二堆最少需要拿 1 次,第三堆最少需要拿 1 次,总共 4 次即可拿完。
3/15示列2。如图示:

解释:第一堆力扣币最少需要拿 1 次,第二堆最少需要拿2 次,第三堆最少需要拿 5 次,总共 8次即可拿完。
5/15限制条件如图示:

解题思路:由于每次只能从任意一堆中拿走一枚或者两枚硬币。要想需要拿完所有硬币的次数最少,则每次能够拿两枚就决不拿一枚。这其实是贪心算法思想。
7/15即每堆硬币拿完最少的次数分为两类。如图示:

代码如图示:

提交代码结果如图示:

提交记录。如图:

执行用时分布图:

改用while循环的代码如图示:

提交结果。如图示:

提交记录如图示:

执行用时分布图,如图示:

版权声明:
1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。
2、本站仅提供信息发布平台,不承担相关法律责任。
3、若侵犯您的版权或隐私,请联系本站管理员删除。
4、文章链接:http://www.1haoku.cn/art_680196.html
上一篇:打印Word文档中的某些段落文字
下一篇:星露谷物语木头怎么弄