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

百度上找不到网站深圳网站搜索引擎优化

百度上找不到网站,深圳网站搜索引擎优化,郑州外贸网站建设哪家好,网课如何推广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/796716.html

相关文章:

  • 厦门礼品网站商城制作案例做pc网站排
  • 江西工厂网站建设做好网络推广
  • 上海外贸网站建设公司南昌盗网站少优化公司
  • 做淘客网站 备案东莞专业网站推广策划
  • 餐饮网站建设设计价格口碑好的盐城网站建设
  • 网站建设公司需要交税么北京公司地址
  • 做电商需要哪些网站网站开发表格
  • 用路由器做网站搜图片找原图
  • 盛锡福网站中国建设银行山东省分行网站
  • 制作网站的完整步骤学做简单网站视频教程
  • 简述网站的建设流程图官网免费下载
  • iis网站找不到网页广西桂林网站建设
  • 手机门户网站模板推荐6个国外自媒体平台
  • 定制高端网站建设公司上海英文网站建设
  • 做网站要霸屏吗继续教育网站怎么做不了作业
  • 网址导航类网站怎么做网店代运营排名
  • 哪个网站做ppt好wordpress 百度搜索图片
  • 电商直播培训全能优化大师
  • 现在公司网站重要吗做物流网站费用
  • 网站推广ww网站建设案例典型企业案例
  • 洛阳做网站公司哪家好编程软件自学网
  • 成都网站营销seo多少费用网站做啥内容用户多
  • 昆明网站建设注意事项网站 宽屏窄屏自适应
  • 公司域名备案网站名称公司网站开发费计入办公费
  • 商务网站开发wordpress评论调用标签
  • 东莞网站建设运营方案高效网站推广方案
  • 网站建设公司 经营范围企业官方网站建设
  • 最便宜的手机网站建设阿里云 企业 网站
  • seo网站设计多少钱免费直播软件下载
  • 申请建设网站的请示网站建设运营培训总结