LeetCode/study-plan/dynamic-programming/day-02/climbing-stairs.rb

28 lines
511 B
Ruby
Raw Normal View History

# @param {Integer} n
# @return {Integer}
def climb_stairs(n)
possible_ways = [0, 1, 2]
k = 3
while possible_ways.size <= n do
possible_ways.push(possible_ways[k - 1] + possible_ways[k - 2])
k += 1
end
return possible_ways[n]
end
RSpec.describe "climb_stairs" do
it "1 is 1" do
expect(climb_stairs(1)).to eq(1)
end
it "2 is 2" do
expect(climb_stairs(2)).to eq(2)
end
it "3 is 3" do
expect(climb_stairs(3)).to eq(3)
end
end