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;
    
        }
    }
    
  • 相关阅读:
    记录操作:增删改查
    mysql表的完整性约束
    mysql支持的数据类型:数值类型、时间类型、字符串类型、ENUM和SET类型
    mysql中的存储引擎
    系统从未分库分表动态切换到分库分表
    为什么要分库分表
    生产环境中的 redis 是怎么部署的
    redis 集群模式
    redis 的持久化方式
    redis 的过期策略都有哪些?内存淘汰机制都有哪些?
  • 原文地址:https://www.cnblogs.com/caoxinyu/p/10568475.html
Copyright © 2011-2022 走看看