Lc70_爬樓梯
阿新 • • 發佈:2020-07-17
//假設你正在爬樓梯。需要 n 階你才能到達樓頂。 // // 每次你可以爬 1 或 2 個臺階。你有多少種不同的方法可以爬到樓頂呢? // // 注意:給定 n 是一個正整數。 // // 示例 1: // // 輸入: 2 //輸出: 2 //解釋: 有兩種方法可以爬到樓頂。 //1. 1 階 + 1 階 //2. 2 階 // // 示例 2: // // 輸入: 3 //輸出: 3 //解釋: 有三種方法可以爬到樓頂。 //1. 1 階 + 1 階 + 1 階 //2. 1 階 + 2 階 //3. 2 階 + 1 階 // // Related Topics 動態規劃 package leetcode.editor.cn; //Java:爬樓梯 public class P70ClimbingStairs{ public static void main(String[] args) { Solution solution = new P70ClimbingStairs().new Solution(); // TO TEST System.out.println(solution.climbStairs(1)); } //leetcode submit region begin(Prohibit modification and deletion) class Solution { public int climbStairs(int n) { // if(n==1){ // return 1; // }else if(n==2){ // return 2; // }else{ // return climbStairs(n-2)+climbStairs(n-1); // } int[] res = new int[n+1]; res[0]=1; res[1]=2; if(n==1){ return res[0]; } if(n==2){ return res[1]; } for (int i =2; i <n ; i++) { res[i]=res[i-1]+res[i-2]; } return res[n-1]; } } //leetcode submit region end(Prohibit modification and deletion) }