/**
* @author Limg
* @date 2023/08/11
* 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。
* 每次你可以爬 1 或 2 个台阶。
* 你有多少种不同的方法可以爬到楼顶呢?
*/
#include<iostream>
using namespace std;
int climbStairs(int n);
int main()
{
int n=0;
cin>>n;
cout<<climbStairs(n)<<endl;
return 0;
}
//解题函数
int climbStairs(int n)
{
if(n==1)
{
return 1;
}
else if(n==2)
{
return 2;
}
else{
int num[n];
num[0] = 1;
num[1] = 2;
for(int i=2;i<n;i++)
{
//从i-1走一阶台阶 + 从i-2从二阶台阶
num[i] = (num[i-1])+(num[i-2]);
}
return num[n-1];
}
}

博客围绕LeetCode相关内容,着重介绍了动态规划算法,使用C++语言实现。动态规划是重要的算法思想,在解决LeetCode题目中发挥关键作用,能有效提升解题效率和质量。
694

被折叠的 条评论
为什么被折叠?



