<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    小明思考

    Just a software engineer
    posts - 124, comments - 36, trackbacks - 0, articles - 0
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    +1

    Posted on 2013-04-15 11:22 小明 閱讀(1374) 評論(3)  編輯  收藏 所屬分類: 數據結構和算法
    問題給定一個有由數字構成的數組表示的數,求該數加1的結果。
    public class Solution {
        public int[] plusOne(int[] digits) {
        }
    }

    很簡單的問題,但是一遍寫通過,還是要求基本功比較扎實。注意進位的處理。
    Input                       Output

    [0]

    [1]

    [1]

    [2]

    [9]

    [1,0]

    [1,0]

    [1,1]

    [9,9]

    [1,0,0]

    [1,2,3]

    [1,2,4]

    [9,9,9]

    [1,0,0,0]

    [8,9,9,9]

    [9,0,0,0]

    [1,0,0,0,0]

    [1,0,0,0,1]

    [9,8,7,6,5,4,3,2,1,0]

    [9,8,7,6,5,4,3,2,1,1]


    代碼如下:

    public class Solution {
        public int[] plusOne(int[] digits) {
            int extra = 1;
            for(int i=digits.length-1;i>=0;--i){
                int t = digits[i]+extra;
                if(t>=10){
                    extra = 1;
                    digits[i] = t-10;
                }
                else if(extra!=0){
                    extra = 0;
                    digits[i] = t;
                    break;
                }
            }
            if(extra>0){
                int[] newDigits = new int[digits.length+1];
                newDigits[0] = extra;
                System.arraycopy(digits,0,newDigits,1,digits.length);
                return newDigits;
            }
            return  digits;
        }
    }




    評論

    # re: +1[未登錄]  回復  更多評論   

    2013-04-15 15:42 by Harry
    in scala:
    def plusOne(list: List[Int], rem: Int): List[Int] = {
    val l = list.reverse
    l match {
    case x :: xs => x + rem match {
    case y if y >= 10 => plusOne(xs.reverse, 1) ::: (y % 10) :: Nil
    case z => plusOne(xs.reverse, 0) ::: z :: Nil
    }
    case Nil => Nil
    }
    }
    def main(args: Array[String]): Unit = {
    val l = List(1, 3, 4, 8, 9, 9)
    println(plusOne(l, 1))
    }

    # re: +1  回復  更多評論   

    2013-04-15 17:18 by 小明
    @Harry

    你這遞歸調用,效率不高吧

    # re: +1[未登錄]  回復  更多評論   

    2013-04-16 13:25 by Harry
    :)
    主站蜘蛛池模板: 99久久综合精品免费| 91在线亚洲精品专区| 最新国产AV无码专区亚洲| 桃子视频在线观看高清免费视频| 永久免费观看的毛片的网站| 亚洲国产国产综合一区首页| 一级视频在线免费观看| 精品亚洲成AV人在线观看| 久久久国产精品无码免费专区| 亚洲一级片免费看| 99视频在线免费观看| 亚洲午夜国产精品无码| 久久免费视频99| 亚洲一久久久久久久久| 亚洲色大成网站www久久九 | 久久青草91免费观看| a毛片成人免费全部播放| 国产又黄又爽又猛的免费视频播放 | 亚洲熟妇无码爱v在线观看| 久久爰www免费人成| 免费观看男人吊女人视频| 日本高清不卡aⅴ免费网站| 国产在线观看免费av站| 亚洲精品无码av人在线观看| 一本岛高清v不卡免费一三区| 久久国产精品一区免费下载| 中文字幕免费不卡二区| 毛片在线播放免费观看| 在线a免费观看最新网站| 99精品免费观看| 国产精品久久亚洲一区二区| 国产精品亚洲精品日韩动图 | 欧美日韩国产免费一区二区三区 | 亚洲综合色丁香婷婷六月图片| 亚洲欧洲国产经精品香蕉网| va天堂va亚洲va影视中文字幕| 日韩免费a级在线观看| 亚洲AV区无码字幕中文色| 亚洲免费在线视频观看| 免费国产a理论片| 亚洲一线产品二线产品|