LCP 06
桌上有 n
堆力扣币,每堆的数量保存在数组 coins
中。我们每次可以选择任意一堆,拿走其中的一枚或者两枚,求拿完所有力扣币的最少次数。
输入:[4,2,1]
输出:4
解释:第一堆力扣币最少需要拿 2 次,第二堆最少需要拿 1 次,第三堆最少需要拿 1 次,总共 4 次即可拿完。
第一遍
思路:先求总数 再除2 四舍五入
class Solution(object): def minCount(self, coins): """ :type coins: List[int] :rtype: int """ total=0 for coin in coins: total=total+coin if(total%2==1): total=total+1 return(total/2)
对[1,5,5,6]的会出错 因为每一堆要单独操作
第二遍
class Solution(object): def minCount(self, coins): """ :type coins: List[int] :rtype: int """ ans=0 for coin in coins: if(coin%2==1): coin=coin+1 ans=ans+coin/2 //ans=ans+(coin+1)//2 return(ans)
官方题解先+1再// 更简单
Work Hard
But do not forget to enjoy life😀
本文来自博客园,作者:YuhangLiuCE,转载请注明原文链接:https://www.cnblogs.com/YuhangLiuCE/p/17085247.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET10 - 预览版1新功能体验(一)