国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

leetcode66 將數組表示的非負整數加一

QLQ / 2744人閱讀

摘要:題目要求一個非負整數被表示為一個數組,數組中每一個元素代表該整數的一個位。數組的下標越小,代表的位數越高。現在對該數組做加一運算,請返回結果數組。

題目要求:一個非負整數被表示為一個數組,數組中每一個元素代表該整數的一個位。數組的下標越小,代表的位數越高。現在對該數組做加一運算,請返回結果數組。

/**
 * @author rale
 *
 * Given a non-negative integer represented as a non-empty array of digits, plus one to the integer.
 * You may assume the integer do not contain any leading zero, except the number 0 itself.
 * The digits are stored such that the most significant digit is at the head of the list.
 */
public class PlusOne {

    public int[] plusOne(int[] digits) {
        //此處可以直接將carry(進位)設置為1,優化程序
        //carry = 0
        //digits[digits.length-1] += 1 ;
        int carry = 1;
        int temp = 0;
        for(int i=digits.length-1 ; i>=0 ; i--){
            temp = digits[i] + carry;
            digits[i] = temp%10;
            carry = temp/10;
        }
        if(carry>0){
            int[] result = new int[digits.length+1];
            result[0] = 1;
            for(int j = 1 ; j

繼續優化
只有當需要進位的時候,加法才需要繼續下去,否則加法則可以在當前位停止。
可以在循環中添加判斷,若carry==0,則提前跳出循環

/**
 * @author rale
 *
 * Given a non-negative integer represented as a non-empty array of digits, plus one to the integer.
 * You may assume the integer do not contain any leading zero, except the number 0 itself.
 * The digits are stored such that the most significant digit is at the head of the list.
 */
public class PlusOne {

    public int[] plusOne(int[] digits) {
        //此處可以直接將carry(進位)設置為1,優化程序
        //carry = 0
        //digits[digits.length-1] += 1 ;
        int carry = 1;
        int temp = 0;
        for(int i=digits.length-1 ; i>=0 ; i--){
            temp = digits[i] + carry;
            digits[i] = temp%10;
            carry = temp/10;
            if(carry==0){
                break
            }
        }
        if(carry>0){
            int[] result = new int[digits.length+1];
            result[0] = 1;
            for(int j = 1 ; j

再再再次優化
此處優化最高位進位的情況
最高位出現進位,當且僅當其他位都產生進位且為0
優化后的代碼如下

/**
 * @author rale
 *
 * Given a non-negative integer represented as a non-empty array of digits, plus one to the integer.
 * You may assume the integer do not contain any leading zero, except the number 0 itself.
 * The digits are stored such that the most significant digit is at the head of the list.
 */
public class PlusOne {

    public int[] plusOne(int[] digits) {
        int carry = 1;
        int temp = 0;
        for(int i=digits.length-1 ; i>=0 ; i--){
            temp = digits[i] + carry;
            digits[i] = temp%10;
            carry = temp/10;
        }
        if(carry>0){
            int[] result = new int[digits.length+1];
            result[0] = 1;
//          最高位進位的情況只有一種,即其它位均進位且為0,無需再循環一次
//            for(int j = 1 ; j


想要了解更多開發技術,面試教程以及互聯網公司內推,歡迎關注我的微信公眾號!將會不定期的發放福利哦~

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/66834.html

相關文章

  • Leetcode66. 加一

    摘要:作者碼蹄疾畢業于哈爾濱工業大學。最高位數字存放在數組的首位,數組中每個元素只存儲一個數字。你可以假設除了整數之外,這個整數不會以零開頭。示例輸入輸出解釋輸入數組表示數字。 作者: 碼蹄疾畢業于哈爾濱工業大學。 小米廣告第三代廣告引擎的設計者、開發者;負責小米應用商店、日歷、開屏廣告業務線研發;主導小米廣告引擎多個模塊重構;關注推薦、搜索、廣告領域相關知識; 題目 給定一個由整數組成的非...

    Invoker 評論0 收藏0
  • Leetcode66. 加一

    摘要:作者碼蹄疾畢業于哈爾濱工業大學。最高位數字存放在數組的首位,數組中每個元素只存儲一個數字。你可以假設除了整數之外,這個整數不會以零開頭。示例輸入輸出解釋輸入數組表示數字。 作者: 碼蹄疾畢業于哈爾濱工業大學。 小米廣告第三代廣告引擎的設計者、開發者;負責小米應用商店、日歷、開屏廣告業務線研發;主導小米廣告引擎多個模塊重構;關注推薦、搜索、廣告領域相關知識; 題目 給定一個由整數組成的非...

    MorePainMoreGain 評論0 收藏0
  • Leetcode66. 加一

    摘要:作者碼蹄疾畢業于哈爾濱工業大學。最高位數字存放在數組的首位,數組中每個元素只存儲一個數字。你可以假設除了整數之外,這個整數不會以零開頭。示例輸入輸出解釋輸入數組表示數字。 作者: 碼蹄疾畢業于哈爾濱工業大學。 小米廣告第三代廣告引擎的設計者、開發者;負責小米應用商店、日歷、開屏廣告業務線研發;主導小米廣告引擎多個模塊重構;關注推薦、搜索、廣告領域相關知識; 題目 給定一個由整數組成的非...

    hiyang 評論0 收藏0
  • 【刷算法】LeetCode.66-加一

    摘要:題目描述給定一個由整數組成的非空數組所表示的非負整數,在該數的基礎上加一。最高位數字存放在數組的首位,數組中每個元素只存儲一個數字。你可以假設除了整數之外,這個整數不會以零開頭。示例輸入輸出解釋輸入數組表示數字。 題目描述 給定一個由整數組成的非空數組所表示的非負整數,在該數的基礎上加一。 最高位數字存放在數組的首位, 數組中每個元素只存儲一個數字。 你可以假設除了整數 0 之外,這個...

    蘇丹 評論0 收藏0

發表評論

0條評論

QLQ

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<