当前位置:网站首页>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;
}
边栏推荐
猜你喜欢
Is the code more messy?That's because you don't use Chain of Responsibility!
"Social Enterprises Conducting Civilian Personnel Training Specifications" group standard on the shelves of Xinhua Bookstore
如何通过使用“缓存”相关技术,解决“高并发”的业务场景案例?
将 Sentinel 熔断限流规则持久化到 Nacos 配置中心
秋招攻略秘籍,吃透25个技术栈Offer拿到手软
牛客网刷题记录 || 链表
两款移相振荡器的对比
如何才能有效、高效阅读?猿辅导建议“因材因时施教”
谁说 Mysql 单表最大 2000 W ?我硬要塞它 1 个亿
面试官:如何查看/etc目录下包含abc字符串的文件?
随机推荐
项目里的各种配置,你都了解吗?
文字编码 - Markdown 简明教程
Execution failed for task ‘:xxx:generateReleaseRFile‘.
职场漫谈:为什么越是内卷的行业越有人争着抢着往里冲?好奇怪的说...
【LeetCode】38、外观数列
并发刺客(False Sharing)——并发程序的隐藏杀手
How to play the Tower of Hanoi
Map常见的遍历方式-keySet 和 entrySet
Analysis and application of portrait segmentation technology
Why don't young people like to buy Mengniu and Yili?
第四讲 SVN
Is there a replacement for the LM2596?LM2576 can
谁说 Mysql 单表最大 2000 W ?我硬要塞它 1 个亿
秋招攻略秘籍,吃透25个技术栈Offer拿到手软
两款移相振荡器的对比
Programmer Qixi Gift - How to quickly build an exclusive chat room for your girlfriend in 30 minutes
一文梳理NLP主要模型发展脉络
《中国综合算力指数》《中国算力白皮书》《中国存力白皮书》《中国运力白皮书》在首届算力大会上重磅发出
js深拷贝和浅拷贝具体使用区别_es6深拷贝和浅拷贝
智能电视可以打开小程序应用,再也不用头痛内存了