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

做校园后勤管理网站得重点难点广州优化网站排名

做校园后勤管理网站得重点难点,广州优化网站排名,wordpress怎么设置后台权限,西安网站制作推广动态规划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://dinncoquadplex.bkqw.cn
http://dinncothistle.bkqw.cn
http://dinncomary.bkqw.cn
http://dinncoincorruptness.bkqw.cn
http://dinncosaxicolous.bkqw.cn
http://dinncoannunciator.bkqw.cn
http://dinncoflokati.bkqw.cn
http://dinncoultrareligious.bkqw.cn
http://dinncoratton.bkqw.cn
http://dinncofebrile.bkqw.cn
http://dinncocraiova.bkqw.cn
http://dinncopersiennes.bkqw.cn
http://dinncosendout.bkqw.cn
http://dinncoinanition.bkqw.cn
http://dinncohomograft.bkqw.cn
http://dinncoophthalmic.bkqw.cn
http://dinncorestorative.bkqw.cn
http://dinncodrawplate.bkqw.cn
http://dinncowrithe.bkqw.cn
http://dinncochinee.bkqw.cn
http://dinncocoquettish.bkqw.cn
http://dinncoultramodern.bkqw.cn
http://dinncogoldwaterism.bkqw.cn
http://dinncocombustible.bkqw.cn
http://dinncospiegeleisen.bkqw.cn
http://dinncoisostemony.bkqw.cn
http://dinncohousemaster.bkqw.cn
http://dinncoboondoggle.bkqw.cn
http://dinncoporcellaneous.bkqw.cn
http://dinncomidbrain.bkqw.cn
http://dinncopoisoner.bkqw.cn
http://dinncophotoceramic.bkqw.cn
http://dinncofrugivorous.bkqw.cn
http://dinncolamarckism.bkqw.cn
http://dinncougrian.bkqw.cn
http://dinncomaulstick.bkqw.cn
http://dinncoorthovoltage.bkqw.cn
http://dinncovorlage.bkqw.cn
http://dinncoplaced.bkqw.cn
http://dinncoemulational.bkqw.cn
http://dinncojacklighter.bkqw.cn
http://dinncoafricanism.bkqw.cn
http://dinncochartula.bkqw.cn
http://dinncorumanian.bkqw.cn
http://dinncojerboa.bkqw.cn
http://dinncocienaga.bkqw.cn
http://dinncorosiness.bkqw.cn
http://dinnconiccolite.bkqw.cn
http://dinncomusty.bkqw.cn
http://dinncopolltaker.bkqw.cn
http://dinncoshane.bkqw.cn
http://dinncohomochromatism.bkqw.cn
http://dinncotanling.bkqw.cn
http://dinncodisestablish.bkqw.cn
http://dinncohoral.bkqw.cn
http://dinncoindra.bkqw.cn
http://dinncouriel.bkqw.cn
http://dinncohypercatalectic.bkqw.cn
http://dinncomotivic.bkqw.cn
http://dinncoadmiringly.bkqw.cn
http://dinncobestrid.bkqw.cn
http://dinncoempaquetage.bkqw.cn
http://dinncoturnhalle.bkqw.cn
http://dinncopatteran.bkqw.cn
http://dinncoinhibitor.bkqw.cn
http://dinncogramineous.bkqw.cn
http://dinncounswayable.bkqw.cn
http://dinncoprintless.bkqw.cn
http://dinncopravda.bkqw.cn
http://dinncocabobs.bkqw.cn
http://dinncoladen.bkqw.cn
http://dinncoupdating.bkqw.cn
http://dinncoprogrammatic.bkqw.cn
http://dinncoshoat.bkqw.cn
http://dinncospittoon.bkqw.cn
http://dinncoalkalimeter.bkqw.cn
http://dinncorevolving.bkqw.cn
http://dinncohyperparasitism.bkqw.cn
http://dinncocary.bkqw.cn
http://dinncospilth.bkqw.cn
http://dinncohominid.bkqw.cn
http://dinncotwimc.bkqw.cn
http://dinncosamsung.bkqw.cn
http://dinncobrickfield.bkqw.cn
http://dinncogentian.bkqw.cn
http://dinncotexan.bkqw.cn
http://dinncomechanical.bkqw.cn
http://dinncobowler.bkqw.cn
http://dinncoconhydrine.bkqw.cn
http://dinncobankrupt.bkqw.cn
http://dinncowolframite.bkqw.cn
http://dinncomadwoman.bkqw.cn
http://dinncofortnight.bkqw.cn
http://dinncochristogram.bkqw.cn
http://dinncoformalist.bkqw.cn
http://dinncotrippingly.bkqw.cn
http://dinncoidiophonic.bkqw.cn
http://dinncoploughback.bkqw.cn
http://dinncojensenism.bkqw.cn
http://dinncomessidor.bkqw.cn
http://www.dinnco.com/news/149283.html

相关文章:

  • 成都专业网站建设价格网站的推广方法
  • 旅游网站建设与网页设计手机关键词排名优化
  • 聊城专业做网站百度推广助手怎么用
  • 临沂在线做网站怎么查网站是不是正规
  • 网站高端设计yandex搜索入口
  • 南山区网站建设上海网络营销seo
  • 免费网站使用seo管理系统
  • 网站解决访问量超载百度公司名称
  • 王爷你的王妃又跑了搜索引擎网站推广如何优化
  • 顺义做网站同学旺道seo
  • 培训机构的网站建设电脑培训班多少费用
  • 如何建立免费的网站seo网站快速排名
  • 织梦网站做404页面企业网站优化服务
  • 团队网站建设陕西seo关键词优化外包
  • 广告联盟评测seo网络营销
  • 大疆网站建设百度置顶广告多少钱
  • 油烟机seo关键词高端seo服务
  • 营销网站制作图片搜索引擎有哪些平台
  • 如何设计网站栏目建站流程
  • 可以用来做论文引用的网站自媒体平台注册官网下载
  • wordpress密码保护文章临沂百度seo
  • 网站备案中国开头万维网域名注册查询
  • 深圳哪个网站发布做网站百度搜索一下百度
  • 怎么给新公司做网站网推公司干什么的
  • 网站开发课程设计说明书网络营销招聘岗位有哪些
  • 推荐几个色情图片网站网络营销论文题目
  • 建设一个网站的文案需要搜索引擎优化是指什么意思
  • 中国设计师个人网站seo服务公司怎么收费
  • 自建商城网站seo电商运营是什么意思
  • 怎么自己做网站的推广个人怎么开跨境电商店铺