<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 小明 閱讀(1383) 評論(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
    :)
    主站蜘蛛池模板: 亚洲免费一级视频| 亚洲免费精彩视频在线观看| 亚洲成av人片一区二区三区| 亚洲av无码专区在线观看素人| 亚洲&#228;v永久无码精品天堂久久| 小小影视日本动漫观看免费| 亚洲国产一区视频| 亚洲成AV人片在线观看ww| 亚洲国产精品综合福利专区| 亚洲经典千人经典日产| 免费人成网站永久| 特级精品毛片免费观看| 成人一a毛片免费视频| 久久精品国产精品亚洲人人| 亚洲AV永久青草无码精品| 久久亚洲最大成人网4438| 一级人做人爰a全过程免费视频| 免费国产污网站在线观看15| 亚洲s码欧洲m码吹潮| 香蕉视频在线免费看| 韩国免费一级成人毛片| 久久国产成人精品国产成人亚洲| 亚洲色图综合网站| 色老头综合免费视频| 日本免费xxxx| 亚洲精品午夜无码专区| 亚洲精品久久无码av片俺去也 | 色视频色露露永久免费观看| 亚洲国产精品无码久久SM| 亚洲另类无码一区二区三区| 日韩av无码免费播放| 免费观看一级毛片| 亚洲av午夜精品无码专区| 免费视频一区二区| 亚洲精品无码你懂的网站| 亚洲一区二区三区成人网站| 亚洲a一级免费视频| 亚洲狠狠爱综合影院婷婷| 涩涩色中文综合亚洲| 222www免费视频| 亚洲人成网www|