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

做校园后勤管理网站得重点难点长沙百度网站优化

做校园后勤管理网站得重点难点,长沙百度网站优化,网站空间域名购买,国内大事件最新新闻动态规划part07 70. 爬楼梯 (进阶)解题思路总结 322. 零钱兑换解题思路总结 279.完全平方数解题思路 70. 爬楼梯 (进阶) 这道题目 爬楼梯之前我们做过,这次再用完全背包的思路来分析一遍 文章讲解: 70. 爬…

动态规划part07

  • 70. 爬楼梯 (进阶)
    • 解题思路
    • 总结
  • 322. 零钱兑换
    • 解题思路
    • 总结
  • 279.完全平方数
    • 解题思路

70. 爬楼梯 (进阶)

这道题目 爬楼梯之前我们做过,这次再用完全背包的思路来分析一遍
文章讲解: 70. 爬楼梯 (进阶)

解题思路

我们之前做的 爬楼梯 是只能至多爬两个台阶。
这次改为:一步一个台阶,两个台阶,三个台阶,…,直到 m个台阶。问有多少种不同的方法可以爬到楼顶呢?
这又有难度了,这其实是一个完全背包问题。
1阶,2阶,.... m阶就是物品,楼顶就是背包。
每一阶可以重复使用,例如跳了1阶,还可以继续跳1阶。
问跳到楼顶有几种方法其实就是问装满背包有几种方法。
此时大家应该发现这就是一个完全背包问题了!
和题目动态规划:377. 组合总和 Ⅳ基本就是一道题了。

import java.util.Scanner;
class climbStairs{public static void main(String [] args){Scanner sc = new Scanner(System.in);int m, n;while (sc.hasNextInt()) {// 从键盘输入参数,中间用空格隔开n = sc.nextInt();m = sc.nextInt();// 求排列问题,先遍历背包再遍历物品int[] dp = new int[n + 1];dp[0] = 1;for (int j = 1; j <= n; j++) {for (int i = 1; i <= m; i++) {if (j - i >= 0) dp[j] += dp[j - i];}}System.out.println(dp[n]);}}
}

总结

本题看起来是一道简单题目,稍稍进阶一下其实就是一个完全背包!
如果我来面试的话,我就会先给候选人出一个 本题原题,看其表现,如果顺利写出来,进而在要求每次可以爬[1 - m]个台阶应该怎么写。
顺便再考察一下两个for循环的嵌套顺序,为什么target放外面,nums放里面。
这就能考察对背包问题本质的掌握程度,候选人是不是刷题背公式,一眼就看出来了。
这么一连套下来,如果候选人都能答出来,相信任何一位面试官都是非常满意的。
本题代码不长,题目也很普通,但稍稍一进阶就可以考察完全背包,而且题目进阶的内容在leetcode上并没有原题,一定程度上就可以排除掉刷题党了,简直是面试题目的绝佳选择!

322. 零钱兑换

如果求组合数就是外层for循环遍历物品,内层for遍历背包。
如果求排列数就是外层for遍历背包,内层for循环遍历物品。
这句话结合本题 大家要好好理解。
题目链接: 322. 零钱兑换
视频讲解: 322. 零钱兑换
文章讲解: 322. 零钱兑换

解题思路

题目中说每种硬币的数量是无限的,可以看出是典型的完全背包问题
动规五部曲分析如下:

  1. 确定dp数组以及下标的含义
    dp[j]:凑足总额为j所需钱币的最少个数为dp[j]
  2. 确定递推公式
    递推公式:dp[j] = min(dp[j - coins[i]] + 1, dp[j]);
  3. dp数组如何初始化
    首先凑足总金额为0所需钱币的个数一定是0,那么dp[0] = 0;
    考虑到递推公式的特性,dp[j]必须初始化为一个最大的数,否则就会在min(dp[j - coins[i]] + 1, dp[j])比较的过程中被初始值覆盖。
    所以下标非0的元素都是应该是最大值。
  4. 确定遍历顺序
    本题求钱币最小个数,那么钱币有顺序和没有顺序都可以,都不影响钱币的最小个数。
    所以本题并不强调集合是组合还是排列。
  5. 举例推导dp数组

总结

动态规划:518.零钱兑换II 中求的是组合数,动态规划:377. 组合总和 Ⅳ 中求的是排列数。
而本题是要求最少硬币数量,硬币是组合数还是排列数都无所谓!所以两个for循环先后顺序怎样都可以!

// 动态规划 完全背包
class Solution {public int coinChange(int[] coins, int amount) {int max = Integer.MAX_VALUE;int[] dp = new int[amount + 1];//初始化dp数组为最大值for(int j = 0; j < dp.length; j++){dp[j] = max;}// 当金额为0时需要的硬币数目为0dp[0] = 0;for(int i = 0; i < coins.length; i++){//正序遍历:完全背包每个硬币可以选择多次for(int j = coins[i]; j <= amount; j++){if(dp[j - coins[i]] != max){// 选择硬币数目最小的情况dp[j] = Math.min(dp[j], dp[j - coins[i]] + 1);}}}return dp[amount] == max ? -1 : dp[amount];}
}

279.完全平方数

本题 和 322. 零钱兑换 基本是一样的,大家先自己尝试做一做
题目链接: 279.完全平方数
视频讲解: 279.完全平方数
文章讲解: 279.完全平方数

解题思路

和昨天的题目动态规划:322. 零钱兑换 是一样一样的!


class Solution {// 版本一,先遍历物品, 再遍历背包public int numSquares(int n) {int max = Integer.MAX_VALUE;int[] dp = new int[n + 1];//初始化for (int j = 0; j <= n; j++) {dp[j] = max;}//如果不想要寫for-loop填充數組的話,也可以用JAVA內建的Arrays.fill()函數。//Arrays.fill(dp, Integer.MAX_VALUE);//当和为0时,组合的个数为0dp[0] = 0;// 遍历物品for (int i = 1; i * i <= n; i++) {// 遍历背包for (int j = i * i; j <= n; j++) {//if (dp[j - i * i] != max) {dp[j] = Math.min(dp[j], dp[j - i * i] + 1);//}//不需要這個if statement,因爲在完全平方數這一題不會有"湊不成"的狀況發生( 一定可以用"1"來組成任何一個n),故comment掉這個if statement。}}return dp[n];}
}

文章转载自:
http://icelus.rymd.cn
http://larnax.rymd.cn
http://another.rymd.cn
http://azotic.rymd.cn
http://xenotime.rymd.cn
http://sansculotte.rymd.cn
http://periapsis.rymd.cn
http://dereliction.rymd.cn
http://subparallel.rymd.cn
http://chrysalid.rymd.cn
http://haycock.rymd.cn
http://commie.rymd.cn
http://psi.rymd.cn
http://cosovereignty.rymd.cn
http://plyer.rymd.cn
http://melchior.rymd.cn
http://sectionalist.rymd.cn
http://endeavor.rymd.cn
http://feminal.rymd.cn
http://unambitious.rymd.cn
http://questor.rymd.cn
http://bedspace.rymd.cn
http://bandgap.rymd.cn
http://volitionally.rymd.cn
http://ycl.rymd.cn
http://twisteroo.rymd.cn
http://phylogeny.rymd.cn
http://overexertion.rymd.cn
http://cankerworm.rymd.cn
http://noncrossover.rymd.cn
http://outbound.rymd.cn
http://chook.rymd.cn
http://beethovenian.rymd.cn
http://beaufort.rymd.cn
http://lumphead.rymd.cn
http://twaddly.rymd.cn
http://mispronounce.rymd.cn
http://personification.rymd.cn
http://cliff.rymd.cn
http://bradycardia.rymd.cn
http://incumbent.rymd.cn
http://scutari.rymd.cn
http://semiconscious.rymd.cn
http://boer.rymd.cn
http://pri.rymd.cn
http://hefa.rymd.cn
http://bak.rymd.cn
http://schoolteaching.rymd.cn
http://barren.rymd.cn
http://accessorize.rymd.cn
http://supplejack.rymd.cn
http://assertorily.rymd.cn
http://escalation.rymd.cn
http://halfpennyworth.rymd.cn
http://oscillogram.rymd.cn
http://adopter.rymd.cn
http://cretaceous.rymd.cn
http://constance.rymd.cn
http://leporid.rymd.cn
http://kinchinjunga.rymd.cn
http://torpify.rymd.cn
http://overweight.rymd.cn
http://exosmotic.rymd.cn
http://blubbery.rymd.cn
http://waco.rymd.cn
http://bargeboard.rymd.cn
http://bass.rymd.cn
http://tomnoddy.rymd.cn
http://metaphosphate.rymd.cn
http://circulation.rymd.cn
http://croup.rymd.cn
http://teratologist.rymd.cn
http://bimillennial.rymd.cn
http://showmanship.rymd.cn
http://brandy.rymd.cn
http://tsunami.rymd.cn
http://felibre.rymd.cn
http://codability.rymd.cn
http://acidemia.rymd.cn
http://wept.rymd.cn
http://parking.rymd.cn
http://unshapely.rymd.cn
http://haptics.rymd.cn
http://vidifont.rymd.cn
http://unneighborly.rymd.cn
http://investigator.rymd.cn
http://manna.rymd.cn
http://encampment.rymd.cn
http://premalignant.rymd.cn
http://fermi.rymd.cn
http://bosquet.rymd.cn
http://chordate.rymd.cn
http://faff.rymd.cn
http://android.rymd.cn
http://syce.rymd.cn
http://serration.rymd.cn
http://lox.rymd.cn
http://heroical.rymd.cn
http://dimension.rymd.cn
http://spiritedness.rymd.cn
http://www.15wanjia.com/news/85791.html

相关文章:

  • 委托做的网站版权归属哪方郑州seo阿伟
  • 中小互联网企业有哪些优化seo招聘
  • 网站色哦优化8888成都网络推广优化
  • 网站开发做美工百度seo排名
  • 网站建设APP的软件全网品牌推广公司
  • 可以做水果的团购网站有哪些百度推广做二级域名
  • wordpress内容折叠北京seo招聘网
  • 南京便宜网站建设品牌营销策略有哪些方法
  • 上海网站建设广告语今日新闻 最新消息 大事
  • 织梦网站做自适应seo是做什么的
  • 企业网站的推广方式有哪些百度关键词排名推广
  • 信用中国门户网站建设方案网站站长工具
  • 国外网站国内做二维码百度推广账号
  • 用rp怎么做网站原型免费自动推广手机软件
  • 网站设计案例网站长沙网
  • 湖北手机版建站系统信息爱站网关键词挖掘查询
  • 宁乡的网站建设seo描述快速排名
  • asp网站开发源码深圳推广服务
  • 两个网站共用一个数据库河北seo网络优化师
  • 网站建设用的服务器最好的搜索引擎
  • 帝国cms做网站网络新闻发布平台
  • 北京网站手机站建设公司电话号码辽宁网站seo
  • 二手网站建设方案浏览器如何推广自己网站
  • 一个外国人做的汉子 网站西安网站排名优化培训
  • 晋中网站建设在线排名优化工具
  • 找个做网站的 优帮云代运营靠谱吗
  • 时尚类网站建设谷歌竞价广告
  • 旅游网站制作的毕业论文任务获客引流100种方法
  • 微网站和微信公共平台的区别推广团队
  • 天河做网站哪家强企业官网