<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

       1 /*
       2     假設你正在爬樓梯。需要 n 階你才能到達樓頂。
       3     每次你可以爬 1 或 2 個臺階。你有多少種不同的方法可以爬到樓頂呢?
       4 
       5     示例 1:
       6     輸入:n = 2
       7     輸出:2
       8     解釋:有兩種方法可以爬到樓頂。
       9     1.     1 階 + 1 階
      10     2.     2 階
      11 
      12     示例 2:
      13     輸入:n = 3
      14     輸出:3
      15     解釋:有三種方法可以爬到樓頂。
      16     1.     1 階 + 1 階 + 1 階
      17     2.     1 階 + 2 階
      18     3.     2 階 + 1 階
      19 */
      20 
      21 // 方法一:遞歸方法,類似遞歸形式的斐波那契數列,時間復雜度:O(2**n),空間復雜度:O(n)
      22 
      23 // 方法二:記憶化遞歸方法,時間復雜度:O(n),O(n)
      24 #include <iostream>
      25 #include <cstdio>
      26 using namespace std;
      27 
      28 int climbStairsMemo(int n, int memo[]) {
      29     if (memo[n] > 0) {
      30         return memo[n];
      31     }
      32     if (n == 1) memo[n] = 1;
      33     else if (n == 2) memo[n] = 2;
      34     else memo[n] = climbStairsMemo(n - 1, memo) + climbStairsMemo(n - 2, memo);
      35     return memo[n];
      36 }
      37 
      38 int climbStairs2(int n) {
      39     int memo[n + 1];
      40     return climbStairsMemo(n, memo);
      41 
      42 }
      43 
      44 
      45 // 方法三:動態規劃,時間復雜度:O(n),O(n)
      46 int climebStairs3(int n) {
      47     if (n == 1) return 1;
      48     int dp[n + 1];
      49     dp[1] = 1;
      50     dp[2] = 2;
      51 
      52     for (int i = 3; i <= n; i++) {
      53         dp[i] = dp[i - 1] + dp[i - 2];
      54     }
      55 
      56     return dp[n];
      57 }
      58 
      59 // 方法四:
      60 /*
      61     可以發現,方法三在計算 dp[i] 時,實際上只需要用到 dp[i - 1] 和 dp[i - 2] 的值,并不需要存儲整個數組 dp。
      62     因此,可以使用常數級的額外空間來優化這段代碼,將空間復雜度降低到 O(1)。以下是優化后的代碼:
      63 */
      64 int climbStairs4(int n) {
      65     if (n == 1) return 1;
      66     int first = 1;
      67     int second = 2;
      68     int third;
      69 
      70     for (int i = 3; i <= n; i++) {
      71         third = first + second;
      72         first = second;
      73         second = third;
      74     }
      75 
      76     return second;
      77 }
      78 
      79 int main() {
      80 
      81 
      82 
      83     return 0;
      84 }

       

      posted on 2025-03-09 15:09  FYJUN2077  閱讀(16)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 国产在线无码不卡播放| 成在线人免费视频| 91麻豆视频国产一区二区| 国产高清在线A免费视频观看| 东方av四虎在线观看| 国产亚洲精品综合一区二区 | 91亚洲人成手机在线观看| 国精偷拍一区二区三区| 最近中文字幕国产精选| 人妻熟女一区无中文字幕| 国产精品国产三级国快看| 国产精品美女一区二区三| 一区二区三区四区五区自拍| 视频一区二区三区在线视频| 99久久国产综合精品成人影院| 国产一区二区av天堂热| 亚洲欧洲久久激情久av| 亚洲一区二区三级av| 日韩中文字幕高清有码| 亚洲av伦理一区二区| 日韩人妻无码一区二区三区| 亚洲无码精品视频| 日韩一卡二卡三卡四卡五卡 | 日韩精品无码一区二区视频 | 老司机性色福利精品视频| 色悠悠久久精品综合视频| 欧美精品在线观看视频 | 成 人 色 网 站免费观看| 黎平县| 无码人妻精品一区二区三区下载 | 国产欧美另类久久久精品不卡| 婷婷国产亚洲性色av网站| 福利一区二区在线观看| 国产亚洲一区二区三不卡| 亚洲乱码日产精品bd在线| 成人亚欧欧美激情在线观看 | 成人年无码av片在线观看| 久久av无码精品人妻出轨| 韩国美女福利视频一区二区| 日本中文字幕有码在线视频 | 亚洲熟妇自偷自拍另欧美|