<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
    :)
    主站蜘蛛池模板: 国产va免费精品| 国产中文字幕免费| ww在线观视频免费观看w| 亚洲中文无码av永久| 亚洲色成人中文字幕网站| 国产成人涩涩涩视频在线观看免费| 37pao成人国产永久免费视频 | 成在线人免费无码高潮喷水| 亚洲av中文无码字幕色不卡| 亚洲电影在线免费观看| 久久久久亚洲精品美女| 国产亚洲精品精品国产亚洲综合| 日韩成人在线免费视频| 最近免费中文字幕视频高清在线看| 污视频在线免费观看| a级毛片毛片免费观看久潮| 一区二区视频免费观看| 亚洲AV性色在线观看| 亚洲色欲色欲www在线播放 | 久久精品国产大片免费观看| 一级做a爱过程免费视频高清| 精品国产日韩亚洲一区在线| 亚洲一区二区三区国产精华液| 亚洲无砖砖区免费| 4480yy私人影院亚洲| 久久久亚洲欧洲日产国码农村| 亚洲午夜久久久久久久久久| 亚洲精品老司机在线观看| 免费看小12萝裸体视频国产 | 国产成人亚洲精品蜜芽影院| 亚洲中文字幕久久无码| 亚洲а∨天堂久久精品9966| 在线a亚洲老鸭窝天堂av高清| 亚洲videos| 久久夜色精品国产噜噜亚洲a| 亚洲日日做天天做日日谢| 亚洲 日韩经典 中文字幕 | 妞干网手机免费视频| 成人毛片免费播放| 国产美女无遮挡免费视频网站| 在线播放免费播放av片|