中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C#移動零和爬樓梯的實現方法是什么

發布時間:2021-11-24 09:10:03 來源:億速云 閱讀:124 作者:iii 欄目:大數據

這篇文章主要講解了“C#移動零和爬樓梯的實現方法是什么”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“C#移動零和爬樓梯的實現方法是什么”吧!

給定一個數組 nums,編寫一個函數將所有 0 移動到數組的末尾,同時保持非零元素的相對順序。

示例:

輸入: [0,1,0,3,12]

輸出: [1,3,12,0,0]

說明:

必須在原數組上操作,不能拷貝額外的數組。

盡量減少操作次數。

題解:
public void MoveZeroes(int[] nums)
   {
      // 解法1:處理不為0的,再處理為0的
       if (nums == null || nums.Length == 0)
           return;
       int index = 0;
       for (int i = 0; i < nums.Length; i++)
       {
           if (nums[i] != 0)
               nums[index++] = nums[i];
       }
       while (index < nums.Length)
       {
           nums[index++] = 0;
       }

       // 解法2:遇到不為0的 互換位置
       int j = 0;
       for (int i = 0; i < nums.Length; i++)
       {
           if (nums[i] != 0)
           {
               int temp = nums[i];
               nums[i] = nums[j];
               nums[j] = temp;
               j++;
           }
       }
   }

C#移動零和爬樓梯的實現方法是什么

題目 官網鏈接  
https://leetcode-cn.com/problems/climbing-stairs/  

70. 爬樓梯

假設你正在爬樓梯。需要 n 階你才能到達樓頂。

每次你可以爬 1 或 2個臺階。你有多少種不同的方法可以爬到樓頂呢?

注意:給定 n 是一個正整數。

示例 1:

輸入: 2

輸出: 2

解釋: 有兩種方法可以爬到樓頂。

1.  1 階 + 1 階

2.  2 階

示例 2:

輸入: 3
輸出: 3

解釋: 有三種方法可以爬到樓頂。

1.  1 階 + 1 階 + 1 階

2.  1 階 + 2 階

3.  2 階 + 1 階
題解:
  public int ClimbStairs(int n)
   {
       // // 解法1:遞歸(記憶化搜索)
       // int[] memo = new int[n + 1];
       // return helper(n, memo);

       // // 解法2:動態規劃
       // if (n == 1)
       //     return 1;
       // int[] dp = new int[n + 1];
       // dp[1] = 1;
       // dp[2] = 2;
       // for (int i = 3; i <= n; i++)
       //     dp[i] = dp[i - 1] + dp[i - 2];
       // return dp[n];

       // 解法3:斐波那契數
       if (n == 1)
           return 1;
       int first = 1;
       int second = 2;
       for (int i = 3; i <= n; i++)
       {
           int third = first + second;
           first = second;
           second = third;
       }
       return second;


   }
   public int helper(int n, int[] memo)
   {
       if (n <= 2)
           return n;
       if (memo[n] != 0)
           return memo[n];
       memo[n] = helper(n - 1, memo) + helper(n - 2, memo);
       return memo[n];
   }

感謝各位的閱讀,以上就是“C#移動零和爬樓梯的實現方法是什么”的內容了,經過本文的學習后,相信大家對C#移動零和爬樓梯的實現方法是什么這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

兴安县| 青州市| 兴山县| 司法| 宜兴市| 汉寿县| 绥芬河市| 蚌埠市| 平泉县| 碌曲县| 雷波县| 莱芜市| 元江| 双桥区| 红桥区| 武鸣县| 穆棱市| 江永县| 哈巴河县| 南通市| 乐清市| 纳雍县| 遵义市| 建水县| 泽普县| 江达县| 富宁县| 娄底市| 卫辉市| 枝江市| 庆元县| 和龙市| 怀仁县| 资讯| 海阳市| 外汇| 噶尔县| 遂平县| 澎湖县| 洪湖市| 泾川县|