LeetCode/study-plan/dynamic-programming/day-1/fibonacci-number.rb
Matej Focko 275d28ec33
dynamic-programming(i): add day 1
Signed-off-by: Matej Focko <mfocko@redhat.com>
2022-01-19 18:25:31 +01:00

39 lines
609 B
Ruby

# @param {Integer} n
# @return {Integer}
def fib(n)
if n == 0 then
return 0
end
prev, current = 0, 1
(2..n).each {
prev, current = current, prev + current
}
return current
end
RSpec.describe "fib of " do
it "0 is 0" do
expect(fib(0)).to eq(0)
end
it "1 is 1" do
expect(fib(1)).to eq(1)
end
it "2 is 1" do
expect(fib(2)).to eq(1)
end
it "3 is 2" do
expect(fib(3)).to eq(2)
end
it "4 is 3" do
expect(fib(4)).to eq(3)
end
it "5 is 5" do
expect(fib(5)).to eq(5)
end
end