面试题 08.01. 三步问题
题目来源:
leetcode题目,网址:面试题 08.01. 三步问题 - 力扣(LeetCode)
解题思路:
动态规划。1 阶楼梯 1 种走法,2 阶楼梯 2 种走法,3 阶楼梯 6 种类走法。假设有 n(n>3) 阶楼梯,n-1 阶楼梯有 a 种走法,n-2 阶楼梯有 b 种走法,n-3 阶楼梯有 c 种走法,则 n 阶楼梯有 a+b+c 中走法。
解题代码:
class Solution {public int waysToStep(int n) {if(n==1){return 1;}else if(n==2){return 2;}else if(n==3){return 4;}else{return ways(n);}}public int ways(int n){long preThree=1;long preTwo=2;long preOne=4;int now=4;long res=preOne+preTwo+preThree;while(now!=n){preThree=preTwo;preTwo=preOne;preOne=res;res=(preOne+preTwo+preThree)%1000000007;now++;}return (int)res;}
}
总结:
无官方题解。
staircase 楼梯