当前位置:网站首页>动态规划每日一练(2)
动态规划每日一练(2)
2022-08-02 08:40:00 【恶龙咆哮@~】
1.爬楼梯
假设你正在爬楼梯。需要 n 阶你才能到达楼顶。
每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?
我们用 f(x)f(x) 表示爬到第 xx 级台阶的方案数,考虑最后一步可能跨了一级台阶,也可能跨了两级台阶,所以我们可以列出如下式子:
f(x) = f(x - 1) + f(x - 2)
它意味着爬到第 xx 级台阶的方案数是爬到第 x - 1x−1 级台阶的方案数和爬到第 x - 2x−2 级台阶的方案数的和。很好理解,因为每次只能爬 11 级或 22 级,所以 f(x)f(x) 只能从 f(x - 1)f(x−1) 和 f(x - 2)f(x−2) 转移过来,而这里要统计方案总数,我们就需要对这两项的贡献求和。
class Solution {
public:
int climbStairs(int n) {
if(n<=2)
{
return n;
}
else{
int p=0,q=1,s=1;
for(int i=2;i<=n;i++)
{
p=q;
q=s;
s=q+p;
}
return s;
}
}
};
2.使用最少花费爬楼梯
给你一个整数数组 cost ,其中 cost[i] 是从楼梯第 i 个台阶向上爬需要支付的费用。一旦你支付此费用,即可选择向上爬一个或者两个台阶。
你可以选择从下标为 0 或下标为 1 的台阶开始爬楼梯。
请你计算并返回达到楼梯顶部的最低花费。
题解:dp问题
dp[i]=min(dp[i−1]+cost[i−1],dp[i−2]+cost[i−2])
class Solution {
public:
int minCostClimbingStairs(vector<int>& cost) {
int n=cost.size();
vector<int> dp(n+1);
dp[0]=0;
dp[1]=0;
for(int i=2;i<=n;i++)
{
dp[i]=min(dp[i-1]+cost[i-1],dp[i-2]+cost[i-2]);
}
return dp[n];
}
};
边栏推荐
- 破解wifi密码 暴力破解 保姆式教学
- 向量组的线性相关性
- 编程与哲学(2)——输出是为了更好的输入
- ip地址那点事(二)
- 十大免费cms建站系统介绍推荐
- RetinaFace: Single-stage Dense Face Localisation in the Wild
- HCIP笔记第十三天
- Axial Turbine Privacy Policy
- High imitation [Huawei consumer business official website] and wonderful animation analysis: practice embedding JS code in low-code platform
- QT web development - Notes - 3
猜你喜欢

PyQt5 (a) PyQt5 installation and configuration, read from the folder and display images, simulation to generate the sketch image

百数应用中心——选择一款适合企业的标准应用

软件exe图标变记事本或浏览器、360压缩打不开的几种应急解决方法

【C】关于柔性数组.简要的谈谈柔性数组

UVM事务级建模

【微信小程序2】事件绑定

小康股份更名赛力斯,如何走出一条高端产品的“丝绸之路”?

Docker内MySQL主从复制学习,以及遇到的一些问题

RestTemlate源码分析及工具类设计

Biotin-C6-amine|N-biotinyl-1,6-hexanediamine|CAS: 65953-56-2
随机推荐
redis-desktop-manager下载安装
普林斯顿微积分读本03第二章--编程实现函数图像绘制、三角学回顾
积分商城商品供应商选择的三个要求
破解wifi密码 暴力破解 保姆式教学
tf.where使用
Redis分布式锁
Mysql Mac版下载安装教程
小康股份更名赛力斯,如何走出一条高端产品的“丝绸之路”?
【电子电路】长按键拉低电平,适用在有休眠机制的MCU但是没有看门狗,一个按键多个功能场景下使用
PyCharm usage tutorial (detailed version - graphic and text combination)
spark:页面单跳转换率统计(案例)
三维体尺测量
MySQL ODBC驱动简介
What is the function of the import command of the page directive in JSP?
【微信小程序2】事件绑定
Bigder:41/100生产bug有哪些分类
shell脚本
【开源项目】X-TRACK源码分析
A little bit of knowledge - why do not usually cook with copper pots
Jenkins--基础--6.3--Pipeline--语法--脚本式