动态规划:爬楼梯
文章目录
一、70. 爬楼梯
1.1 解法一:递归
0, 1, 2, 3, 5, 8, 13, 21, 34, 55…
/**
* 递归
* @param n
* @return
*/
public static int solve01(int n) {
if (n<=2) return n;
return solve01(n-1) + solve01(n-2);
}
1.2 解法三:递归+记忆化搜索
/**
* 递归+记忆化搜索
* @param n
* @return
*/
public static int solve02(int n) {
int[] a = new int[n+1];
return solve02(n, a);
}
private static int solve02(int n, int[] a) {
if (n<=2) return n;
if (a[n]!=0) return a[n];
a[n] = solve02(n-1, a) + solve02(n-2, a);
return a[n];
}
1.3 动态规划
/**
* 动态递推