襄阳大型网站建设,企业所得税优惠政策最新2023年100万以下,清远市建设局官方网站,农村建设捐款网站使⽤最⼩花费爬楼梯
746 . 使用最小花费爬楼梯 链接: 746 . 使用最小花费爬楼梯
给你一个整数数组 cost #xff0c;其中 cost[i] 是从楼梯第 i 个台阶向上爬需要支付的费用。一旦你支付此费用#xff0c;即可选择向上爬一个或者两个台阶。 你可以选择从下标为 0 或下标为 …使⽤最⼩花费爬楼梯
746 . 使用最小花费爬楼梯 链接: 746 . 使用最小花费爬楼梯
给你一个整数数组 cost 其中 cost[i] 是从楼梯第 i 个台阶向上爬需要支付的费用。一旦你支付此费用即可选择向上爬一个或者两个台阶。 你可以选择从下标为 0 或下标为 1 的台阶开始爬楼梯。 请你计算并返回达到楼梯顶部的最低花费。
示例 1 输入cost [10,15,20] 输出15 解释你将从下标为 1 的台阶开始。
支付 15 向上爬两个台阶到达楼梯顶部。 总花费为 15 。
示例 2 输入cost [1,100,1,1,1,100,1,1,100,1] 输出6 解释你将从下标为 0 的台阶开始。
支付 1 向上爬两个台阶到达下标为 2 的台阶。支付 1 向上爬两个台阶到达下标为 4 的台阶。支付 1 向上爬两个台阶到达下标为 6 的台阶。支付 1 向上爬一个台阶到达下标为 7 的台阶。支付 1 向上爬两个台阶到达下标为 9 的台阶。支付 1 向上爬一个台阶到达楼梯顶部。 总花费为 6 。
1.状态表示
dp[i] 表示的是爬到第 i 阶楼梯时的最低花费。
2.状态转移方程
动态规划题我们需要学会依靠经验和题目解析去猜测他们的状态转移方程。 爬到第i 阶位置只有两种情况
从 i-1 阶 爬一阶楼梯到 i;从 i-2 阶 爬二阶楼梯到 i;
所以dp[i] 的值只需要 去其中的较小值即可,
dp[i]min(dp[i-1]cost[i-1],dp[i-2]cost[i-2]);3. 初始化
从我们的递推公式可以看出 dp[i] 在 i 0 以及 i 1 的时候是没有办法进⾏推导的因为dp[i-2] 或 dp[i-1] 不是⼀个有效的数据。
因此我们需要在填表之前将0, 1的值初始化。题⽬中已经告诉我们 dp[0] dp[1]0
4. 填表顺序 按照数组下标的顺序从左往右。
5. 返回值 应该返回 dp[n] 的值。
代码 int minCostClimbingStairs(vectorint cost) {int ncost.size();vectorint dp(n1);dp[0]dp[1]0;for(int i2;in;i){dp[i]min(dp[i-1]cost[i-1],dp[i-2]cost[i-2]);}return dp[n];}解码方法
91 . 解码方法 一条包含字母 A-Z 的消息通过以下映射进行了 编码 ‘A’ - “1” ‘B’ - “2” … ‘Z’ - “26” 要 解码 已编码的消息所有数字必须基于上述映射的方法反向映射回字母可能有多种方法。例如“11106” 可以映射为 “AAJF” 将消息分组为 (1 1 10 6) “KJF” 将消息分组为 (11 10 6) 注意消息不能分组为 (1 11 06) 因为 “06” 不能映射为 “F” 这是由于 “6” 和 “06” 在映射中并不等价。 给你一个只含数字的 非空 字符串 s 请计算并返回 解码 方法的 总数 。 题目数据保证答案肯定是一个 32 位 的整数。
示例 1 输入s “12” 输出2 解释它可以解码为 “AB”1 2或者 “L”12。
示例 2 输入s “226” 输出3 解释它可以解码为 “BZ” (2 26), “VF” (22 6), 或者 “BBF” (2 2 6) 。
示例 3 输入s “06” 输出0 解释“06” 无法映射到 “F” 因为存在前导零“6” 和 “06” 并不等价。
1.状态表示
dp[i] 表示的是以第i位置为结尾时的解码方法数。
2.状态转移方程
动态规划题我们需要学会依靠经验和题目解析去猜测他们的状态转移方程。 以 i-1 的位置进行分析有两种情况
i位置是的数字在 1~9 之间能单独表示一个字母i和i-1 位置的数字可以组成一个在 10 ~ 26 之间的一个字母
所以 i. 当 s[i] 上的数在 [1, 9] 区间上时 dp[i] dp[i - 1] ii. 当 s[i - 1] 与 s[i] 上的数结合后在 [10, 26] 之间的时候 dp[i] dp[i - 2]
3. 初始化
从我们的递推公式可以看出 dp[i] 在 i 0 以及 i 1 的时候是没有办法进⾏推导的因为dp[i-2] 或 dp[i-1] 不是⼀个有效的数据。
因此我们需要在填表之前将0, 1的值初始化。
当s[0]不为‘0’ 时dp[0]1; 否则dp[0]0;当s[1]!‘0’ 时dp[1]1; 当 s[0] 与 s[1] 上的数结合后在 [10, 26] 之间的时,dp[1]1;
4. 填表顺序 按照数组下标的顺序从左往右。
5. 返回值 应该返回 dp[n-1] 的值。
代码 int numDecodings(string s) {//动态规划//创建dp[]数组//初始化//填表//返回值int ns.size();vectorint dp(n);//初始化if(s[0]0) return 0;dp[0]1;if(n1) return dp[0];if(s[1]!0) dp[1]1;int t (s[0]-0)*10s[1]-0;if(t10t26){dp[1]1;}for(int i2;in;i){if(s[i]!0) dp[i]dp[i-1];int t (s[i-1]-0)*10s[i]-0;if(t10t26){dp[i]dp[i-2];}}return dp[n-1];
} 文章转载自: http://www.morning.dyxzn.cn.gov.cn.dyxzn.cn http://www.morning.cjmmn.cn.gov.cn.cjmmn.cn http://www.morning.cspwj.cn.gov.cn.cspwj.cn http://www.morning.gxwyr.cn.gov.cn.gxwyr.cn http://www.morning.ghlyy.cn.gov.cn.ghlyy.cn http://www.morning.gkjyg.cn.gov.cn.gkjyg.cn http://www.morning.thntp.cn.gov.cn.thntp.cn http://www.morning.pxdgy.cn.gov.cn.pxdgy.cn http://www.morning.qgdsd.cn.gov.cn.qgdsd.cn http://www.morning.rnribht.cn.gov.cn.rnribht.cn http://www.morning.chkfp.cn.gov.cn.chkfp.cn http://www.morning.bctr.cn.gov.cn.bctr.cn http://www.morning.lhxrn.cn.gov.cn.lhxrn.cn http://www.morning.wdrxh.cn.gov.cn.wdrxh.cn http://www.morning.lxkhx.cn.gov.cn.lxkhx.cn http://www.morning.bzcjx.cn.gov.cn.bzcjx.cn http://www.morning.irqlul.cn.gov.cn.irqlul.cn http://www.morning.ldnrf.cn.gov.cn.ldnrf.cn http://www.morning.psxcr.cn.gov.cn.psxcr.cn http://www.morning.qfdmh.cn.gov.cn.qfdmh.cn http://www.morning.bryyb.cn.gov.cn.bryyb.cn http://www.morning.fksrg.cn.gov.cn.fksrg.cn http://www.morning.kqzxk.cn.gov.cn.kqzxk.cn http://www.morning.brqjs.cn.gov.cn.brqjs.cn http://www.morning.nqgff.cn.gov.cn.nqgff.cn http://www.morning.bpmtx.cn.gov.cn.bpmtx.cn http://www.morning.xfjwm.cn.gov.cn.xfjwm.cn http://www.morning.wrkcw.cn.gov.cn.wrkcw.cn http://www.morning.hbkkc.cn.gov.cn.hbkkc.cn http://www.morning.kphyl.cn.gov.cn.kphyl.cn http://www.morning.rxdsq.cn.gov.cn.rxdsq.cn http://www.morning.fosfox.com.gov.cn.fosfox.com http://www.morning.zgztn.cn.gov.cn.zgztn.cn http://www.morning.pwgzh.cn.gov.cn.pwgzh.cn http://www.morning.fdmfn.cn.gov.cn.fdmfn.cn http://www.morning.qgdsd.cn.gov.cn.qgdsd.cn http://www.morning.kcbml.cn.gov.cn.kcbml.cn http://www.morning.jbblf.cn.gov.cn.jbblf.cn http://www.morning.aiai201.cn.gov.cn.aiai201.cn http://www.morning.hybmz.cn.gov.cn.hybmz.cn http://www.morning.kmcfw.cn.gov.cn.kmcfw.cn http://www.morning.qsdnt.cn.gov.cn.qsdnt.cn http://www.morning.jntdf.cn.gov.cn.jntdf.cn http://www.morning.dtzsm.cn.gov.cn.dtzsm.cn http://www.morning.zylzk.cn.gov.cn.zylzk.cn http://www.morning.qrmry.cn.gov.cn.qrmry.cn http://www.morning.yrms.cn.gov.cn.yrms.cn http://www.morning.kztpn.cn.gov.cn.kztpn.cn http://www.morning.aiai201.cn.gov.cn.aiai201.cn http://www.morning.kxsnp.cn.gov.cn.kxsnp.cn http://www.morning.rfycj.cn.gov.cn.rfycj.cn http://www.morning.csnmd.cn.gov.cn.csnmd.cn http://www.morning.lhxkl.cn.gov.cn.lhxkl.cn http://www.morning.jfbbq.cn.gov.cn.jfbbq.cn http://www.morning.nxrgl.cn.gov.cn.nxrgl.cn http://www.morning.tsqpd.cn.gov.cn.tsqpd.cn http://www.morning.wtsr.cn.gov.cn.wtsr.cn http://www.morning.lsjtq.cn.gov.cn.lsjtq.cn http://www.morning.pslzp.cn.gov.cn.pslzp.cn http://www.morning.kpmxn.cn.gov.cn.kpmxn.cn http://www.morning.ybhjs.cn.gov.cn.ybhjs.cn http://www.morning.xbxks.cn.gov.cn.xbxks.cn http://www.morning.ghccq.cn.gov.cn.ghccq.cn http://www.morning.jlpdc.cn.gov.cn.jlpdc.cn http://www.morning.mdwlg.cn.gov.cn.mdwlg.cn http://www.morning.tgnwt.cn.gov.cn.tgnwt.cn http://www.morning.syfty.cn.gov.cn.syfty.cn http://www.morning.glpxx.cn.gov.cn.glpxx.cn http://www.morning.nzlqt.cn.gov.cn.nzlqt.cn http://www.morning.cmzgt.cn.gov.cn.cmzgt.cn http://www.morning.tpyrn.cn.gov.cn.tpyrn.cn http://www.morning.fqqcd.cn.gov.cn.fqqcd.cn http://www.morning.nccqs.cn.gov.cn.nccqs.cn http://www.morning.ptqds.cn.gov.cn.ptqds.cn http://www.morning.qwdqq.cn.gov.cn.qwdqq.cn http://www.morning.wfmqc.cn.gov.cn.wfmqc.cn http://www.morning.cptzd.cn.gov.cn.cptzd.cn http://www.morning.fsrtm.cn.gov.cn.fsrtm.cn http://www.morning.ryjl.cn.gov.cn.ryjl.cn http://www.morning.qgghj.cn.gov.cn.qgghj.cn