当前位置:网站首页>LCP 06. 拿硬币-遍历
LCP 06. 拿硬币-遍历
2022-08-04 13:49:00 【Mr Gao】
LCP 06. 拿硬币
桌上有 n 堆力扣币,每堆的数量保存在数组 coins 中。我们每次可以选择任意一堆,拿走其中的一枚或者两枚,求拿完所有力扣币的最少次数。
示例 1:
输入:[4,2,1]
输出:4
解释:第一堆力扣币最少需要拿 2 次,第二堆最少需要拿 1 次,第三堆最少需要拿 1 次,总共 4 次即可拿完。
示例 2:
输入:[2,3,10]
输出:8
限制:
1 <= n <= 4
1 <= coins[i] <= 10
题目中虽然给了 n 堆硬币,但是最终每一堆都是要拿完的。而每一堆拿的情况又不影响其他硬币堆,因此每一堆硬币的拿法实际上是互相独立的。
于是我们可以只考虑一堆的情况。假设一堆有 x 枚硬币,既然我们的目的是尽早拿完所有硬币堆,那么两枚两枚的拿显然是更快的。
求单堆硬币最小次数:(x+1)//2
那么,拿完所有硬币堆只需要循环对所有硬币堆都计算一次,然后求和就可以了。
这题就很简单了,解题代码如下:
int minCount(int* coins, int coinsSize){
int sum=0;
for(int i=0;i<coinsSize;i++){
sum=sum+(coins[i]+1)/2;
}
return sum;
}
边栏推荐
猜你喜欢

Convolutional Neural Network Basics

leetcode 48. Rotate Image 旋转图像(Medium)

如何通过使用“缓存”相关技术,解决“高并发”的业务场景案例?

How to find the location of a pdf file in endnote literature

Button control switch 4017 digital circuit chip

手搓一个“七夕限定”,用3D Engine 5分钟实现烟花绽放效果
![LeetCode 1403 Minimum subsequence in non-increasing order [greedy] HERODING's LeetCode road](/img/fd/c827608b96f678a67c7e920c51d8c5.png)
LeetCode 1403 Minimum subsequence in non-increasing order [greedy] HERODING's LeetCode road

并发刺客(False Sharing)——并发程序的隐藏杀手

烂大街的缓存穿透、缓存击穿和缓存雪崩,你真的懂了?

MPLS experiment
随机推荐
博途1200/1500PLC斜坡指令RAMP(带暂停功能)
化算力为战力:宁夏中卫的数字化转型启示录
How to play the Tower of Hanoi
sqlplus报错ORA-12547: TNS:lost contact解决
CLS-PEG-DBCO,胆固醇-聚乙二醇-二苯基环辛炔,可用于改善循环时间
Win11快速助手在哪里?Win11打开快速助手的方法
AVR学习笔记之熔丝位
如何才能有效、高效阅读?猿辅导建议“因材因时施教”
企业应当实施的5个云安全管理策略
PMP每日一练 | 考试不迷路-8.4(包含敏捷+多选)
用过Apifox这个API接口工具后,确实感觉postman有点鸡肋......
阴影初始化【5】
【毕设选题推荐】机器人工程专业毕设选题推荐
npm install出现的各种问题
AutoCAD DWG,DXF文件导出高清图片、PDF
博途200/1500PLC多段曲线控温FB(支持40段控温曲线、段曲线搜索、暂停、跳段等功能)
人像分割技术解析与应用
字符串类的设计与实现_C语言字符串编程题
零基础可以转行软件测试吗 ?这篇文章告诉你
【牛客刷题-SQL大厂面试真题】NO5.某宝店铺分析(电商模式)