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

上海外贸网站建设世界企业排名500强

上海外贸网站建设,世界企业排名500强,如何联系网站站长,dede 做手机网站1.题目描述 2.思路 (1)因为给的任何一个数,都可以用1去拼凑(1也是完全平方数),所以题目要求要用最少的完全平方数 (2)先遍历物品再遍历背包,求的是组合数。 先遍历背包再…

1.题目描述

在这里插入图片描述

2.思路

(1)因为给的任何一个数,都可以用1去拼凑(1也是完全平方数),所以题目要求要用最少的完全平方数
(2)先遍历物品再遍历背包,求的是组合数。
先遍历背包再遍历物品,求的是排列数。
(3)但是这道题中 ,物品之间是没有顺序的。所以for循环可以颠倒。最外层循环遍历 1 到 n,而内层循环遍历所有小于等于 j 的完全平方数(大约是 sqrt(j) 次)。因此,时间复杂度大约是 O(n * sqrt(n))。
在这里插入图片描述
构建 dp 数组时,dp[0] = 0 的意思是:为了表示数字 0,我们不需要任何的平方数,这个是唯一的正确答案。也就是说,0 本身是一个完全平方数。

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

3.代码实现

public class H279 {public int numSquares(int n) {//最大值常量:max 是一个常量,用来初始化 dp 数组中的每个元素。Integer.MAX_VALUE 是整型能表示的最大值,表示一个不可能的值,用来进行最小化更新。int max=Integer.MAX_VALUE;int[] dp=new int[n+1];//初始化 dp 数组:初始化 dp 数组的所有元素为 max,表示默认情况下每个数的最小组合数是最大值。// 这样做是为了确保在后续更新时,dp[j] 会被实际计算的最小值所覆盖。for(int j=0;j<=n;j++){dp[j]=max;}// 当和为0时,组合的个数为0dp[0]=0;// 遍历背包for(int j=1;j<=n;j++) {// 遍历物品//i*i<j,然后平方数i从1开始for(int i=1;i*i<=j;i++){//+ 1:因为我们使用了一个完全平方数 i * i 来表示 j - i * i,所以在 dp[j - i * i] 的基础上,我们加上了这个平方数,表示我们需要再使用一个平方数。dp[j]=Math.min(dp[j],dp[j-i*i]+1);}}return dp[n];}public static void main(String[] args){H279 test=new H279();int n=12;int res=test.numSquares(n);System.out.print(res);}
}
http://www.dtcms.com/wzjs/490073.html

相关文章:

  • wordpress 点击文章seo
  • 一个页面的html5网站模板 psd佛山网络推广哪里好
  • 广州市网站建设价格网站维护费用
  • 网站如何做熊掌号谷歌搜索入口手机版
  • 免费动态网站开发教程想学手艺在哪里可以培训
  • 建设租房信息网站免费b站在线观看人数在哪儿
  • 网站建设 中企动力南昌天津seo培训
  • 做静态网站步骤seo检测优化
  • 企业开通网站的费用怎么做分录百度推广是什么意思
  • app定制开发运营推广方案网络seo排名
  • flv网站建设站长工具seo排名
  • 松滋做网站如何设计一个网页
  • 茶网站建设实训报告东营百度推广电话
  • 手机网站源码教程批量查询指数
  • 厦门集美建设局网站seo快速优化排名
  • 抖音代运营图片拼多多关键词优化是怎么弄的
  • 北京网站建设+知乎搜索引擎优化教程
  • 厦门网站推广找谁域名查询ip138
  • 真人做爰直播视频网站佛山全市核酸检测
  • 免费建站免费二级抖音关键词查询工具
  • 做任务反佣金的网站湖南长沙seo
  • 南京市住房和城乡建设厅网站站长推广网
  • 幼儿园网站建设总结seo方案书案例
  • 深圳方维网站建设公司一个新品牌如何推广
  • 滕州网站优化网站seo综合诊断
  • 网站数据库网络错误某个网站seo分析实例
  • 专业营销网站开发seo收费
  • 宁波网站建设选择荣胜网络域名是什么意思
  • 帮人做网站犯法百度竞价推广思路
  • 成功的门户网站模拟搜索点击软件