<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 小明 閱讀(1376) 評論(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麻豆| 亚洲视频在线一区二区| 亚洲欧洲精品在线| 毛片免费全部播放无码| 666精品国产精品亚洲| 99国产精品永久免费视频| 亚洲图片校园春色| 女人被免费视频网站| 美女尿口扒开图片免费| 亚洲精品无码激情AV| 你是我的城池营垒免费观看完整版| 久久久久亚洲爆乳少妇无| a级片免费在线观看| 亚洲国产精品久久久久婷婷老年| 亚洲日本在线免费观看| 亚洲第一成人在线| 国产一级淫片a免费播放口之| 草久免费在线观看网站| 亚洲成A∨人片在线观看不卡 | 日韩精品免费一线在线观看| av无码东京热亚洲男人的天堂| 一级黄色片免费观看| 亚洲AV乱码久久精品蜜桃| 亚洲一级毛片免费观看| 久久精品国产亚洲AV天海翼| 在线a亚洲v天堂网2019无码| 亚洲成人免费网站| 美女露100%胸无遮挡免费观看| 国产亚洲精品国产| 国产三级在线观看免费| 久久不见久久见免费影院www日本| 亚洲欧洲国产日韩精品| 日韩免费一级毛片| 国产色爽免费无码视频| 中文无码亚洲精品字幕| 三上悠亚亚洲一区高清| 亚洲三级高清免费| a级毛片免费在线观看| 亚洲熟妇久久精品| 亚洲产国偷V产偷V自拍色戒 | 女人裸身j部免费视频无遮挡|