题目:一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶(n为正整数)总共有多少种跳法。
数据范围:1≤n≤20
进阶:空间复杂度 O(1), 时间复杂度 O(1)
示例1
输入:3
返回值:4
示例2
输入:1
返回值:1
动态规划:
import java.util.*;
public class Solution {
public int jumpFloorII(int target) {
int[] memo = new int[target];
Arrays.fill(memo, 1);
for(int i = 1; i < target; i++) {
for(int j = 0; j < i; j++) {
memo[i] = memo[i] + memo[j];
}
}
return memo[target - 1];
}
}