題目位址為:
假設你正在爬樓梯。需要 n 階你才能到達樓頂。
每次你可以爬 1 或 2 個台階。你有多少種不同的方法可以爬到樓頂呢?
注意:給定 n 是乙個正整數。
示例:
輸入:2輸出:2解釋:有兩種方法可以爬到樓頂。解題:1. 1 階 + 1 階
2. 2 階
1.動態規劃
n=1,f(1) = 1;
n=2,f(2) = f(1) + 1; // f(1)意思是先到第一層台階, 1的意思是直接走兩步到第2層台階。
n=3,f(3) = f(2)+f(1) ;// f(2)表示先走到第2層台階,f(1)表示先走到第1層台階
n=4,f(4) = f(3) + f(2) ...
f(n) = f(n-1) + f(n-2)
public static int climbstairs(int n)
return a[n];
}
hihoCoder每週一題
時間限制 10000ms 單點時限 1000ms include include include include includeusing namespace std int n,m define max 26 struct trie trie void createtrie char str el...
每週一題(1)
把2019分解成3個各不相同的正整數之和,並且要求每個正整數都不包含數字2和4.一共有多少種不同的分割方法。注意交換3個整數的順序被視為同一種方法1,例如1000 1001 18和1001 1000 18被視為同一種。這是一道結果填空的題,你只需要算出結果後提交即可。本題的結果為乙個整數,在提交答案...
每週一題 4
如圖p1.png所示的螺旋折線經過平面上所有整點恰好一次。對於整點 x,y 我們定義它到原點的距離dis x,y 是從原點到 x,y 的螺旋折線段的長度。例如dis 0,1 3,dis 2,1 9 給出整點座標 x,y 你能計算出dis x,y 嗎?輸入格式 x和y對於40 的資料,1000 x,y...