难度
- 简单
- 中等
- 困难
标签
动态规划题目描述
三步问题。有个小孩正在上楼梯,楼梯有n阶台阶,小孩一次可以上1阶、2阶或3阶。实现一种方法,计算小孩有多少种上楼梯的方式。结果可能很大,你需要对结果模1000000007。示例1:
输入:n = 3输出:4说明: 有四种走法
实例2:
输入:n = 5输出:13
题解
class Solution {public int waysToStep(int n) {long[] dp = new long[n + 4];dp[1] = 1L;dp[2] = 2L;dp[3] = 4L;for(int i = 4; i <= n; i++) {dp[i] = (dp[i - 1] + dp[i - 2] + dp[i - 3]) % 1000000007L;}return (int)(dp[n]);}}
