何かやってみるブログ

興味をもったこと、趣味のこと、技術について色々書きます。

LeetCode Climbing Stairsを解いてみた。

問題

leetcode.com

解いた

手元の紙で実験してみたら フィボナッチ数列 になっていることに気づいた。

# @param {Integer} n
# @return {Integer}
def climb_stairs(n)
    result = 0
    i, j = 1, 2
    return 1 if n == 1
    return 2 if n == 2
    (n - 2).times do |t|
      if t.even?
          i = i + j
          result = i
      elsif t.odd?
          j = j + i
          result = j
      end
    end
    result
end

結果