当前位置: 首页 > news >正文

资溪做面包招聘的网站百度如何搜索网址

资溪做面包招聘的网站,百度如何搜索网址,婚庆公司网站怎么做,怎么看网站pv原问题:给定一个非负整数n,如果把它视作一些完全平方数的和,那么最少需要多少个完全平方数? 这次学习到一个热心网友的解法:把问题转化兑换零钱问题,然后使用动态规划求解。 比如,给定 n12, 那…

原问题:给定一个非负整数n,如果把它视作一些完全平方数的和,那么最少需要多少个完全平方数?

这次学习到一个热心网友的解法:把问题转化兑换零钱问题,然后使用动态规划求解。
比如,给定 n=12, 那么我们可以列举出可能的完全平方数{1,4,9}。此时,如果把这些完全平方数视作可获得的硬币面值,把n视作待兑换零钱的总数,那么问题就是求“最少需要多少种硬币,能够把n换成零钱?如果兑换不成功,那么返回-1.”)

class Solution:def numSquares(self, amount: int) -> int:coins=gen_coins(amount) # 找到可能的完全平方数,即 硬币面值coins_kinds=len(coins) # 有多少种 硬币面值dp=[[inf]*(amount+1) for _ in range(coins_kinds+1)]# dp[i][j] 表示 使用前j种面值的硬币(不一定用尽)要凑出i元钱的最少需要的硬币面值种类数dp[0][0]=0 for idx,val in enumerate(coins): # 第idx种硬币的面值为valfor money in range(amount+1): # 待兑换的总数 moneyif money<val: # 当前硬币的面值太大了,用不上,dp[idx+1][money]=dp[idx][money]else: # 考虑‘不用当前面值的硬币’和‘用当前面值的硬币’两种情况dp[idx+1][money]=min(dp[idx][money],dp[idx+1][money-val]+1)ans=dp[coins_kinds][amount]return ans if ans<inf else -1def gen_coins(amount):vals=[]for i in range(1,101):if i*i<=amount: # !! 注意这里是<=vals.append(i*i)else:breakreturn vals
http://www.ritt.cn/news/8255.html

相关文章:

  • 网站搜索排名优化国家免费技能培训
  • java 政府网站开发成都公司建站模板
  • 做网站要注意河北seo推广方案
  • 做网站最好选什么语言产品推广方案模板
  • 免费的ppt模板软件seo外包上海
  • 网址和网站的区别百度获客平台
  • 做兼职那个网站比较好新东方留学机构官网
  • 公司网站建设外包流程博客网站注册
  • 有没有找人做标书的网站深圳seo秘籍
  • 商城网站建设明细广东疫情最新通报
  • 17做网店类似网站网络营销服务工具
  • 扬州市城乡建设局网站上海搜索引擎优化公司排名
  • 注册公司网站怎么做看颜色应该搜索哪些词汇
  • 事业单位备案网站百度官网下载安装免费
  • 佛山专业网站制作设计seo网站推广方案
  • wordpress 个人电脑搜索引擎优化指南
  • 商城网站欣赏最好的免费信息发布平台
  • phpnow wordpress电商网站怎样优化
  • 金华市建设局网站官网设计比较好看的网站
  • 建设网站的注意事项宁波seo推广服务电话
  • 做网站背景的图淘宝网店运营
  • 黑群晖的做网站文件最新疫情最新数据
  • 如何上传网站数据库不能搜的超级恶心的关键词
  • 百度上开个网站怎么做网络推广合作协议范本
  • 鼠标滚轮翻页网站模板软文100字左右案例
  • ps网站建设教程视频哪个平台可以买卖链接
  • 高科技公司网站模板百度竞价排名技巧
  • 政府网站升级建设合同谷歌seo网站推广
  • java做的大型网站百度注册网站
  • 徐州做网站需要多少钱广告推广免费