亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

Java和javascript如何實現給指定數加一

發布時間:2022-01-17 11:43:06 來源:億速云 閱讀:108 作者:小新 欄目:大數據

這篇文章主要為大家展示了“Java和javascript如何實現給指定數加一”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“Java和javascript如何實現給指定數加一”這篇文章吧。


 

題目描述

給定一個由整數組成的非空數組所表示的非負整數,在該數的基礎上加一。

最高位數字存放在數組的首位, 數組中每個元素只存儲一個數字。

你可以假設除了整數 0 之外,這個整數不會以零開頭。

示例 1:

輸入: [1,2,3]
輸出: [1,2,4]
解釋: 輸入數組表示數字 123。
 

示例 2:

輸入: [4,3,2,1]
輸出: [4,3,2,2]
解釋: 輸入數組表示數字 4321。
   

解題方案

 

思路

  • 標簽:數組遍歷

  • 這道題需要整理出來有哪幾種情況,在進行處理會更舒服

  1. 末位無進位,則末位加一即可,因為末位無進位,前面也不可能產生進位,比如45 => 46

  2. 末位有進位,在中間位置進位停止,則需要找到進位的典型標志,即為當前位%10后為0,則前一位加1,直到不為0為止,比如499 => 500

  3. 末位有進位,并且一直進位到最前方導致結果多出一位,對于這種情況,需要在第2種情況遍歷結束的基礎上,進行單獨處理,比如999 => 1000

  • 在下方的Java和JavaScript代碼中,對于第三種情況,對其他位進行了賦值0處理,Java比較tricky直接new數組即可,JavaScript則使用了ES6語法進行賦值

  • 時間復雜度:O(n)

 

代碼

  • Java版本

class Solution {
   public int[] plusOne(int[] digits) {
       int len = digits.length;
       for(int i = len - 1; i >= 0; i--) {
           digits[i]++;
           digits[i] %= 10;
           if(digits[i]!=0)
               return digits;
       }
       digits = new int[len + 1];
       digits[0] = 1;
       return digits;
   }
}
 
  • JavaScript版本

/**
* @param {number[]} digits
* @return {number[]}
*/
var plusOne = function(digits) {
   const len = digits.length;
   for(let i = len - 1; i >= 0; i--) {
       digits[i]++;
       digits[i] %= 10;
       if(digits[i]!=0)
           return digits;
   }
   digits = [...Array(len + 1)].map(_=>0);;
   digits[0] = 1;
   return digits;
};
   

畫解

Java和javascript如何實現給指定數加一

Java和javascript如何實現給指定數加一

Java和javascript如何實現給指定數加一

以上是“Java和javascript如何實現給指定數加一”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

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

AI

舒兰市| 盐山县| 河池市| 武定县| 尼玛县| 平阴县| 肃北| 陈巴尔虎旗| 台东市| 海口市| 手机| 绥滨县| 南乐县| 洛川县| 拜泉县| 婺源县| 洮南市| 德格县| 平遥县| 江城| 合作市| 金川县| 梁平县| 汝城县| 青岛市| 本溪市| 神木县| 封开县| 林西县| 钟山县| 洮南市| 文安县| 张家界市| 靖宇县| 惠来县| 环江| 怀远县| 青海省| 隆化县| 荥阳市| 汉川市|