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]