leetcode : Climbing Stairs
runtime 0 ms, beats 100% of cpp submissions
O(n) solution with explanation
tags: dp
🔗 link
📖 description
給定一個數字 x ,輸出 f(x) ,其中 f(x) 表示第 x 個 Fibonacci 數。
ex. Input: n = 3 Output: 3 Explanation: There are three ways to climb to the top. 1. 1 step + 1 step + 1 step 2. 1 step + 2 steps 3. 2 steps + 1 step
🧠 solution
Fibonacci 數列的計算方法是 f(x) = f(x-1) + f(x-2) ,於是只需要維護數列最後三項即可,並實際模擬數列的計算。
⏳ time complexity
模擬從 1 ~ n 的結果,時間複雜度 O(n)
總時間複雜度 O(n)
📝 code
1 | class Solution { |