یک تابع بنویسید که این مسئله را حل کند: شما از یک پله بالا می روید. برای رسیدن به بالا، n قدم طول می کشد. هر بار می توانید یک یا دو قدم بالا بروید. به چند روش می توانید به بالا بروید؟
در اینجا تابع که مسئله را با استفاده از برنامه نویسی پویا حل می کند: ``` def climbStairs ((n: int) -> int: if n == 1: return 1 dp = [0] * (n+1) dp[1] = 1 dp[2] = 2 برای i در محدوده ((3, n+1): dp[i] = dp[i-1] + dp[i-2] return dp[n] `` تابع یک عدد کامل را به عنوان ورودی می گیرد که تعداد پله ها را در پله نشان می دهد. تعداد راه های متمایز صعود به بالا را برمی گرداند. تابع برای حل مسئله از برنامه نویسی پویا استفاده می کند. این مجموعه یک آرایه `dpp طول ```d``d``d``1 ``n1 با تمام راه های متمایز را شروع می کند. سپس مقدار آن را