网站的中文域名是什么,wordpress收费采集,网络推广公司排名,郑州企业建站网站爬楼梯
Leetcode 70
学习记录自代码随想录
假设你正在爬楼梯。需要 n 阶你才能到达楼顶。
每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢#xff1f;
示例 1#xff1a; 输入#xff1a;n 2 输出#xff1a;2 解释#xff1a;有两种方法可以爬到…爬楼梯
Leetcode 70
学习记录自代码随想录
假设你正在爬楼梯。需要 n 阶你才能到达楼顶。
每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢
示例 1 输入n 2 输出2 解释有两种方法可以爬到楼顶。 1. 1 阶 1 阶 2. 2 阶
示例 2 输入n 3 输出3 解释有三种方法可以爬到楼顶。
1 阶 1 阶 1 阶1 阶 2 阶2 阶 1 阶
提示 1 n 45
要点1.明确动态规划每个步骤的具体含义
class Solution {
public:int climbStairs(int n) {if(n 1 || n 2) return n;// 1.确定动态规划数组和下标含义此处需要考虑0层楼梯对应几爬0层楼梯不用方法即为0vectorint dp(n1);// 2. 确定递推公式n2,dp[i] dp[i-1] dp[i-2]// 3. dp数组初始化dp[1] 1;dp[2] 2;// 4. 确定遍历顺序从前向后for(int i 3; i n; i){dp[i] dp[i-1] dp[i-2];}// 5. 举例推导dp数组12358……return dp[n]; }
};