爬楼梯问题_Java
2021-03-06 20:30
标签:备忘录 楼梯 lang HERE pre import else n+1 台阶 爬楼梯问题_Java 标签:备忘录 楼梯 lang HERE pre import else n+1 台阶 原文地址:https://www.cnblogs.com/chyEric/p/14288633.htmlimport java.util.*;
public class Solution {
/**
*
* @param n int整型 总台阶数量
* @return int整型
*/
//有 n 个台阶,你一次能走 1 个或者 2 个台阶,那么请问,走完这 n 个台阶共有几种方式?
//备忘录模式
public int stairs (int n) {
// write code here
int[] memo = new int[n+1];
return goStep(n,memo);
}
public int goStep(int n, int[] memo){
if(n==1){
return 1;
}else if(n==2){
return 2;
}else if(memo[n]>0){//memo[n]代表n个台阶时走完方式的数目,如果该值大于0即已经计算过,直接返回。
return memo[n];
}else{
memo[n] = goStep(n-1,memo)+goStep(n-2,memo);
return memo[n];
}
}
}
下一篇:JS 判断对象是否为空