<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
    :)
    主站蜘蛛池模板: 99久久免费精品国产72精品九九| 四虎影库久免费视频| 国产亚洲午夜高清国产拍精品| 狠狠色婷婷狠狠狠亚洲综合| 免费人成在线观看播放a| 小草在线看片免费人成视久网| 一二三四影视在线看片免费| 久久亚洲日韩看片无码| 精品国产sm捆绑最大网免费站 | 亚洲精品无码成人片久久不卡 | 亚洲AⅤ永久无码精品AA| 亚洲国产高清人在线| 日韩电影免费在线观看中文字幕| 亚洲av综合色区| 51视频精品全部免费最新| 中文字幕日韩亚洲| 中文字幕成人免费高清在线| 亚洲第一福利视频| 日韩av无码成人无码免费| 亚洲精华国产精华精华液 | 亚洲妇熟XXXX妇色黄| 永久免费在线观看视频| 亚洲精品综合在线影院| 免费国产高清视频| 亚洲熟妇av午夜无码不卡| 亚洲国产人成精品| 国产一级片免费看| 亚洲人成色77777在线观看| 亚洲一级黄色视频| 特黄aa级毛片免费视频播放| 亚洲动漫精品无码av天堂| 成视频年人黄网站免费视频| 国产亚洲福利精品一区二区| 永久免费看bbb| 亚洲日本VA午夜在线电影| 国产a v无码专区亚洲av| 最近2022中文字幕免费视频| 久久精品国产亚洲av品善| 亚洲国产成人精品无码区在线观看 | 2020久久精品国产免费| 午夜肉伦伦影院久久精品免费看国产一区二区三区 |