成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

leetcode66 將數(shù)組表示的非負(fù)整數(shù)加一

QLQ / 2767人閱讀

摘要:題目要求一個(gè)非負(fù)整數(shù)被表示為一個(gè)數(shù)組,數(shù)組中每一個(gè)元素代表該整數(shù)的一個(gè)位。數(shù)組的下標(biāo)越小,代表的位數(shù)越高?,F(xiàn)在對(duì)該數(shù)組做加一運(yùn)算,請(qǐng)返回結(jié)果數(shù)組。

題目要求:一個(gè)非負(fù)整數(shù)被表示為一個(gè)數(shù)組,數(shù)組中每一個(gè)元素代表該整數(shù)的一個(gè)位。數(shù)組的下標(biāo)越小,代表的位數(shù)越高?,F(xiàn)在對(duì)該數(shù)組做加一運(yùn)算,請(qǐng)返回結(jié)果數(shù)組。

/**
 * @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(進(jìn)位)設(shè)置為1,優(yōu)化程序
        //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

繼續(xù)優(yōu)化
只有當(dāng)需要進(jìn)位的時(shí)候,加法才需要繼續(xù)下去,否則加法則可以在當(dāng)前位停止。
可以在循環(huán)中添加判斷,若carry==0,則提前跳出循環(huán)

/**
 * @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(進(jìn)位)設(shè)置為1,優(yōu)化程序
        //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

再再再次優(yōu)化
此處優(yōu)化最高位進(jìn)位的情況
最高位出現(xiàn)進(jìn)位,當(dāng)且僅當(dāng)其他位都產(chǎn)生進(jìn)位且為0
優(yōu)化后的代碼如下

/**
 * @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;
//          最高位進(jìn)位的情況只有一種,即其它位均進(jìn)位且為0,無需再循環(huán)一次
//            for(int j = 1 ; j


想要了解更多開發(fā)技術(shù),面試教程以及互聯(lián)網(wǎng)公司內(nèi)推,歡迎關(guān)注我的微信公眾號(hào)!將會(huì)不定期的發(fā)放福利哦~

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/66834.html

相關(guān)文章

  • Leetcode66. 加一

    摘要:作者碼蹄疾畢業(yè)于哈爾濱工業(yè)大學(xué)。最高位數(shù)字存放在數(shù)組的首位,數(shù)組中每個(gè)元素只存儲(chǔ)一個(gè)數(shù)字。你可以假設(shè)除了整數(shù)之外,這個(gè)整數(shù)不會(huì)以零開頭。示例輸入輸出解釋輸入數(shù)組表示數(shù)字。 作者: 碼蹄疾畢業(yè)于哈爾濱工業(yè)大學(xué)。 小米廣告第三代廣告引擎的設(shè)計(jì)者、開發(fā)者;負(fù)責(zé)小米應(yīng)用商店、日歷、開屏廣告業(yè)務(wù)線研發(fā);主導(dǎo)小米廣告引擎多個(gè)模塊重構(gòu);關(guān)注推薦、搜索、廣告領(lǐng)域相關(guān)知識(shí); 題目 給定一個(gè)由整數(shù)組成的非...

    Invoker 評(píng)論0 收藏0
  • Leetcode66. 加一

    摘要:作者碼蹄疾畢業(yè)于哈爾濱工業(yè)大學(xué)。最高位數(shù)字存放在數(shù)組的首位,數(shù)組中每個(gè)元素只存儲(chǔ)一個(gè)數(shù)字。你可以假設(shè)除了整數(shù)之外,這個(gè)整數(shù)不會(huì)以零開頭。示例輸入輸出解釋輸入數(shù)組表示數(shù)字。 作者: 碼蹄疾畢業(yè)于哈爾濱工業(yè)大學(xué)。 小米廣告第三代廣告引擎的設(shè)計(jì)者、開發(fā)者;負(fù)責(zé)小米應(yīng)用商店、日歷、開屏廣告業(yè)務(wù)線研發(fā);主導(dǎo)小米廣告引擎多個(gè)模塊重構(gòu);關(guān)注推薦、搜索、廣告領(lǐng)域相關(guān)知識(shí); 題目 給定一個(gè)由整數(shù)組成的非...

    MorePainMoreGain 評(píng)論0 收藏0
  • Leetcode66. 加一

    摘要:作者碼蹄疾畢業(yè)于哈爾濱工業(yè)大學(xué)。最高位數(shù)字存放在數(shù)組的首位,數(shù)組中每個(gè)元素只存儲(chǔ)一個(gè)數(shù)字。你可以假設(shè)除了整數(shù)之外,這個(gè)整數(shù)不會(huì)以零開頭。示例輸入輸出解釋輸入數(shù)組表示數(shù)字。 作者: 碼蹄疾畢業(yè)于哈爾濱工業(yè)大學(xué)。 小米廣告第三代廣告引擎的設(shè)計(jì)者、開發(fā)者;負(fù)責(zé)小米應(yīng)用商店、日歷、開屏廣告業(yè)務(wù)線研發(fā);主導(dǎo)小米廣告引擎多個(gè)模塊重構(gòu);關(guān)注推薦、搜索、廣告領(lǐng)域相關(guān)知識(shí); 題目 給定一個(gè)由整數(shù)組成的非...

    hiyang 評(píng)論0 收藏0
  • 【刷算法】LeetCode.66-加一

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

    蘇丹 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<