当前位置:网站首页>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;
}
边栏推荐
猜你喜欢
随机推荐
leetcode 48. Rotate Image 旋转图像(Medium)
正确使用Impala的invalidate metadata与refresh语句
【无标题】
Fuse bit of AVR study notes
router---Programmatic navigation
七夕邂逅爱,那人一定在
LeetCode 1403 Minimum subsequence in non-increasing order [greedy] HERODING's LeetCode road
JSX使用
文字编码 - XML 教程
Convolutional Neural Network Basics
《中国综合算力指数》《中国算力白皮书》《中国存力白皮书》《中国运力白皮书》在首届算力大会上重磅发出
阿里老鸟终于把测试用例怎么写说的明明白白了,小鸟必看
让Web页面中的编辑器支持黏贴或直接拖拽来添加图片「建议收藏」
Various problems with npm install
odoo13笔记点
router---Route guard
关于redis的几件小事(五)redis保证高并发以及高可用
智能电视可以打开小程序应用,再也不用头痛内存了
CReFF缓解长尾数据联邦学习(IJCAI 2022)
ssm学习心得(完结篇