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

资溪做面包招聘的网站桂平seo快速优化软件

资溪做面包招聘的网站,桂平seo快速优化软件,怎样建立一个自己的网站免费,做游戏评论注册国外网站原问题:给定一个非负整数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.shuangfujiaoyu.com/news/44978.html

相关文章:

  • 重庆建设教育协会网站首页2345网址导航怎么样
  • 简单做网站的价格公司网站设计公司
  • 灵宝超市建设管理局信访网站行者seo无敌
  • 手机扁平化网站模版怎么做外链
  • 免费网站建设平台推广渠道
  • 济南做网站费用世界足球排名前100
  • 做外贸什么网站比较好阿里指数在哪里看
  • 建网站问题谷歌广告代理
  • 营销型网站的建设软文搜索引擎市场份额2023
  • 极简wordpress主题seo网站优化网站编辑招聘
  • 武汉做网站seo广州企业推广
  • 通过网站做跳板公司网站免费自建
  • 云南省建设教育协会网站设计网站模板
  • 企业网站建设大概费用百度惠生活推广怎么收费
  • 菏泽做企业网站无锡营销型网站建站
  • css做网站怎么添加子页怎么网上宣传自己的产品
  • 旅游网站怎么做的宁波如何做seo排名优化
  • 网站点击率查询百度搜索入口网址
  • 陕西住房与城乡建设厅网站百度中心
  • 怎样做微网站怎么推广网站
  • 葫芦岛住房和城乡建设厅网站百度旧版本
  • 阿里云网站建设二级不死域名购买
  • 本地局域网搭建wordpress福州seo建站
  • 徐州网站开发服务大数据平台
  • 日本做h动漫电影网站有哪些做网站推广公司
  • 网站搜索系统广告营销推广
  • 最好用的企业网站cms站长工具查询域名信息
  • 内网穿透做网站上海今天发生的重大新闻
  • 做一个门户网站要多少钱永久免费客服系统
  • 微信订阅号不认证可以做网站吗优就业seo课程学多久