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

鹿城区住房和城乡建设局网站网站友链

鹿城区住房和城乡建设局网站,网站友链,wordpress中文页面打不开,国外设计作品爬楼梯(进阶) 题目:假设你正在爬楼梯。需要 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.shuangfujiaoyu.com/news/20803.html

相关文章:

  • django 做的网站百度引流平台
  • 怎么做网站教程++用的工具专业的seo排名优化
  • 百度网站怎么做的赚钱搜索引擎优化包括哪些
  • 外贸网站风格西安今日头条新闻消息
  • jsp sql 网站开发黑龙江暴雪预警
  • 妙影免费模板下载百度竞价和优化的区别
  • 广州公司注册核名网址靠谱seo整站优化外包
  • wordpress打折插件seo软件工具
  • 移动互联网应用开发工程师安卓优化神器
  • 树莓派 做网站网络营销方式对比分析
  • 做配资网站多少钱网络营销的作用
  • python做网站开发优秀营销软文100篇
  • 带产品展示的个人网站模板淘宝付费推广有几种方式
  • 网站建设一定要买数据盘吗新产品上市推广策划方案
  • 做淘宝网站用什么软件做域名查询ip地址
  • 罗源做网站的公司如何做企业网页
  • dedecms的网站放在哪个文件夹里百度旗下的所有产品
  • 海南网络公司网站建设购买链接怎么买
  • 虚拟主机搭建多个网站今日油价92汽油价格表
  • 有域名就可以做网站吗东莞网络优化调查公司
  • 做行业导航网站百度网站官网网址
  • 网站备案及管理的授权书百度平台商家联系方式
  • 没有公司做网站犯法吗百度电话
  • 品牌网站建设供应商武汉哈尔滨最新今日头条新闻
  • 卧龙区2015网站建设价格百度竞价运营
  • 门户网站建设app推广之家
  • 怎么补网站漏洞南京seo整站优化技术
  • 什么叫建网站信息流广告投放流程
  • 网站建设国内现状域名备案查询站长工具
  • 哪个网站可以免费做招牌深圳品牌seo