Leetcode 070 Climbing Stairs
Each time you can either climb 1 or 2 steps. In how many distinct ways can you climb to the top?
Bize verilen basamağa kaç farklı adımlama ile çıkacağımızı bulmak için ondan önceki 2 basamaktaki farklı adımları toplarız.
dp[i] = db[i-1] + dp [i-2]
class Solution:
def climbStairs(self, n: int) -> int:
if n<=2: return n
dp = [0]*(n+1) # [0,0,0,0,0,0,0,0,0,0,0,0,0...] sıfırlardan oluşan bir liste oluşturduk.
dp[1] = 1
dp[2] = 2
for i in range(3,n+1):
dp[i] = dp[i-1]+dp[i-2]
return dp[n]