всем привет, решаю задачу на leetcode, но не понимаю зачем переназначать переменные.
You are climbing a staircase. It takes n steps to reach the top.
Each time you can either climb 1 or 2 steps. In how many distinct ways can you climb to the top?
solution
def climbStairs(n):
if n <=2: return n
else:
prev1 = 1
prev2 = 2
current = 0
for i in range(2, n):
current = prev1 + prev2
print('Current is ', current)
prev1 = prev2
print('prev1 is ', prev1)
prev2 = current
print('prev2 is ', prev2)
return current
print(climbStairs(5))
вот этот блок кода я не понимаю
current = prev1 + prev2
prev1 = prev2
prev2 = current
как вы видите по print, я пытался разобраться, но не понимаю. По теории все понятно.
вот сама теория