zoukankan      html  css  js  c++  java
  • 算法----------加一

    题目:

    给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。
    
    最高位数字存放在数组的首位, 数组中每个元素只存储一个数字。
    
    你可以假设除了整数 0 之外,这个整数不会以零开头。
    
    示例 1:
    
    输入: [1,2,3]
    输出: [1,2,4]
    解释: 输入数组表示数字 123。
    示例 2:
    
    输入: [4,3,2,1]
    输出: [4,3,2,2]
    解释: 输入数组表示数字 4321。
    

    我的解答:第一版:

    class Solution {
        public int[] plusOne(int[] digits) {
            //last 表示当前加1的位置
            int last = digits.length-1;
            // 如果当前加1  大于等于10
            while (last >=0 && digits[last] +1 >=10){
                //当前位置的数字为10的余数
                digits[last] = (digits[last] +1) %10;
                //需要加1的位置往前走
                last --;
            }
            //如果需要加1的位置是-1 说明当前数组不够用了
            if (last == -1) {
                int[] arr = new int[digits.length+1];
                arr[0] = 1;
                System.arraycopy(digits,0,arr,1,digits.length-1);
                return arr;
            }else {
                digits[last] +=1;
            }
            return digits;
    
        }
    }
    

    第二版:

    class Solution {
        public int[] plusOne(int[] digits) {
            //第二版
            //last 表示当前加1的位置
            int last = digits.length-1;
            // 如果当前加1  大于等于10
            while (last >=0 && digits[last] ==9){
                //当前位置的数字为10的余数
                digits[last] = 0;
                //需要加1的位置往前走
                last --;
            }
            //如果需要加1的位置是-1 说明当前数组不够用了
            if (last == -1) {
                int[] arr = new int[digits.length+1];
                arr[0] = 1;
                System.arraycopy(digits,0,arr,1,digits.length-1);
                return arr;
            }else {
                digits[last] +=1;
            }
            return digits;
    
        }
    }
    
  • 相关阅读:
    微信WeixinJSBridge API
    微信内置浏览器的JsAPI(WeixinJSBridge续)[转载]
    一套简单可依赖的Javascript库
    一款轻量级移动web开发框架
    传说中的WeixinJSBridge和微信rest接口
    点击网页分享按钮,触发微信分享功能
    Metronic前端模板
    AdminLTE前端模板
    Nginx如何配置静态文件直接访问
    架构设计流程
  • 原文地址:https://www.cnblogs.com/caoxinyu/p/10568475.html
Copyright © 2011-2022 走看看