网站空间大小有什么用,搭建网站的方法,做网站简单还是app简单,网站美工建设软件下载题目 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢#xff1f; 解题思路
通过对爬楼梯进行分解#xff0c;爬到当前台阶的方式分为两种#xff0c;即由上一个台阶通过爬1和上两个台阶爬2#xff0c;同公…题目 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢 解题思路
通过对爬楼梯进行分解爬到当前台阶的方式分为两种即由上一个台阶通过爬1和上两个台阶爬2同公式表示为:f(n) f(n - 1) f(n - 2);通过递归进行爬楼可能会重复计算导致超时寻找容器存储递归过的值或通过for循环进行有次数的累加。
代码展示
class Solution {public int climbStairs(int n) {if(n 1){return 1;}if(n 2){return 2;}int first 1;int second 2;int ans 0;for (int i 2; i n; i){ans first second;first second;second ans;}return ans;}
}