問題:爬樓梯
假設你正在爬樓梯。需要 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 階
js解決辦法:
/**
* @param n
* @return
*/// n+1的解法為 n的解法數目 和 n的解法中以1結尾的解法數目 之和
var climbstairs = function(n)
if (n == 2)
var endwithone = 1;
var lastnummethod = 2;
var curnummethod = 0;
for (var i = 3; i <= n; i++)
return curnummethod;
};
執行結果截圖:
執行耗時:
LeetCode探索初級演算法 動態規劃
今天在leetcode上做了幾個簡單的動態規劃的題目,也算是對動態規劃有個基本的了解了。現在對動態規劃這個演算法做乙個簡單的總結。動態規劃英文 dynamic programming,是求解決策過程最優化的數學方法,後來沿用到了程式設計領域。動態規劃的大致思路是把乙個複雜的問題轉化成乙個分階段逐步遞...
初級演算法探索 陣列篇(一)
問題 從排序陣列中刪除重複項 給定乙個排序陣列,你需要在原地刪除重複出現的元素,使得每個元素只出現一次,返回移除後陣列的新長度。不要使用額外的陣列空間,你必須在原地修改輸入陣列並在使用 o 1 額外空間的條件下完成。示例 1 給定陣列 nums 1,1,2 函式應該返回新的長度 2,並且原陣列 nu...
初級演算法探索 陣列篇(九)
問題 兩數之和 給定乙個整數陣列和乙個目標值,找出陣列中和為目標值的兩個數。你可以假設每個輸入只對應一種答案,且同樣的元素不能被重複利用。示例 給定 nums 2,7,11,15 target 9 因為 nums 0 nums 1 2 7 9 所以返回 0,1 理解同一元素不能重複使用 3,3 ta...