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

涟水建设局网站门户

涟水建设局网站,门户,济南网络营销策划公司,工程公司logo图片大全集爬楼梯(进阶) 题目:假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 思路:本题也可以抽象成完全背包的问题,背包就是总共多少阶台阶&am…

爬楼梯(进阶)

题目:假设你正在爬楼梯。需要 n 阶你才能到达楼顶。

每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?

思路:本题也可以抽象成完全背包的问题,背包就是总共多少阶台阶,物品就是每次可以爬多少楼梯,可以爬1阶也可以爬2阶,和顺序有关系,所有是完全背包

  • dp[i]的含义:爬i阶楼梯,总共有dp[i]种方法
  • 递推公式:dp[i] += dp[i-j]
  • dp初始化:dp[0] = 1
  • 遍历顺序:先遍历背包,后遍历物品
  • 打印dp数组
class Solution {public int climbStairs(int n) {// dp[i]表示:爬i阶台阶有dp[i]中方式int[] dp = new int[n+1];// 初始化dp[0] = 1;int[] weigth = {1,2};for(int i = 0;i<=n;i++){// 背包for(int j = 0;j<weigth.length;j++){// 物品if(i >= weigth[j]){dp[i] += dp[i-weigth[j]];}}}return dp[n];}
}

零钱兑换

题目:给你一个整数数组 coins ,表示不同面额的硬币;以及一个整数 amount ,表示总金额。

计算并返回可以凑成总金额所需的 最少的硬币个数 。如果没有任何一种硬币组合能组成总金额,返回 -1 。

你可以认为每种硬币的数量是无限的。

  • dp[j]的含义:凑成金额为j,最少需要dp[j]个硬币
  • 递推公式:dp[j] = Math.min(dp[j],dp[j-coins[i]]+1)
    • dp[j]不放当前硬币,因为是一维数组,所有这里用的是上一次遍历的结果
    • dp[j-coins[i]]+1,放当前硬币;放了当前硬币,剩余的金额的最少硬币数+1(当前这个硬币)就是放当前硬币的最少硬币数
  • dp数组初始化:dp[j] = Integer_MAX_VALUE,dp[0] = 0,因为取的是最小值,所有就不能全部初始化成0了,因为dp[0] = 0,所有就会一种都是0
  • 遍历顺序:先遍历物品,后遍历背包
  • 打印dp数组
class Solution {public int coinChange(int[] coins, int amount) {// dp[i]表示:凑成金额为i,最少需要dp[i]个硬币int[] dp = new int[amount+1];Arrays.fill(dp,Integer.MAX_VALUE);dp[0] = 0;for(int i = 0;i<coins.length;i++){// 物品for(int j = coins[i];j<=amount;j++){// 背包if(dp[j-coins[i]] != Integer.MAX_VALUE){// 如果遇到初始值则跳过dp[j] = Math.min(dp[j],dp[j-coins[i]]+1);}}}return dp[amount] == Integer.MAX_VALUE ? -1 :dp[amount];}
}

完全平方数

题目:给你一个整数 n ,返回 和为 n 的完全平方数的最少数量 。

完全平方数 是一个整数,其值等于另一个整数的平方;换句话说,其值等于一个整数自乘的积。例如,1、4、9 和 16 都是完全平方数,而 3 和 11 不是。

思路:本题的物品就是1,4,9,16…等等完全平方数,背包就是n

  • dp[i]的含义:dp[i]个完全平方数和为i
  • 递推公式:dp[i] = Math.min(dp[i],dp[i-i*i]+1)
  • dp数组初始化:dp[i]=Integer.MAX_VALUE,dp[0]=0
  • 遍历顺序:先物品,后背包
  • 打印dp数组
class Solution {public int numSquares(int n) {// dp[i]表示整数i,dp[i]个完全平方数和为iint[] dp = new int[n+1];Arrays.fill(dp,Integer.MAX_VALUE);dp[0] = 0;for(int i = 1;i*i<=n;i++){// 物品for(int j = i*i;j<=n;j++){// 背包if(dp[j-i*i] != Integer.MAX_VALUE){dp[j] = Math.min(dp[j],dp[j-i*i]+1);}}}return dp[n] == Integer.MAX_VALUE ? -1 : dp[n];}
}
http://www.yayakq.cn/news/462383/

相关文章:

  • 10大免费软件下载网站wordpress批量发布器
  • 网站根目录怎么写网站开发兼容ie
  • 电子商务网站软件建设的核心是什么arvixe wordpress
  • 网站建设会议验收排名网站
  • 误给传销公司做网站算犯罪吗专业制作网页公司
  • 学做网站论坛vip账户电子商务是干什么的专业
  • c 网站开发需要的技术个人介绍网站内容
  • 宿迁住房和城乡建设网站中国室内设计公司100强
  • 企业网站搭建程序东莞网页制作模版
  • 模具东莞网站建设网站备案 接入商
  • 网站建设 宝安沙井用dw制作视频网站
  • 中国石化工程建设公司网站网站缺陷和优化的例子
  • 做网站哪个软件好用南宁建设职业技术学院招聘信息网站
  • 什么网站百度的收录高重要的建设工程人员查询
  • 做一个个人网站的步骤新余网站网站建设
  • 邢台做网站企业以下哪个不是网络营销成熟阶段出现的网络营销方式
  • 官方网站欣赏莱芜金点子招聘网最新招聘
  • 分阶段建设网站东莞交易中心
  • 西昌做网站如何将自己做的网站
  • 十佳网站设计江西网站建设平台
  • 网站开发建设推荐色系网站哪里有
  • 什么网站做淘宝素材比较好模板网免费下载素材
  • 做网站不给源码超级seo外链
  • 建好的网站能修改吗wordpress自带轮播
  • 番禺建设网站多少钱让人做网站 需要准备什么
  • dedecms制作的网站椒江做阿里巴巴网站的公司
  • 赣州找工作的网站ppt可爱模板免费下载
  • 年栾洪全单页做网站教程塘厦做网站
  • seo在线网站推广配置wordpress环境
  • 下载官方网站app下载免费主题网站