力扣算法笔记——加一

题目信息:

给定一个由 整数 组成的非空 数组所表示的非负整数,在该数的基础上加一。

最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。

你可以假设除了整数 0 之外,这个整数不会以零开头。
实例: 输入 **:**digits = 1,2,3

输出:1,2,4

**解释:**输入数组表示数字 123。
思路:

刚看到这道题的时候我还想终于有个能一眼看到思路的简单算法题了,没想到简单题也有坑。我的想法是先把这个数组遍历一遍赋值给一个字符串,然后把字符串转化成整数再+1,然后再拆分之后赋值给新的数组。

笨方法但是思路是正确的,But!运行的时候没问题,提交的时候就出Bug了,后来研究了一下才想到Int类型是有大小限制的,一旦组成的Int类型的数值太大,就会导致溢出。所以这个笨方法也不行。

后来看了别人的一些解法才茅塞顿开,题目是由数组组成的数基础上+1,那就可以直接在数组内给最后一位+1,如果这一位等于9,那就置0往前

正确方法

cs 复制代码
  public int[] PlusOne(int[] digits) 
    {   
        for(int i=digits.Length-1;i>=0;i--)
        {
            if(digits[i]<9)
            {
                digits[i]++;
                return digits;
            }
            digits[i]=0;

        }
        int[] outDigits=new int[digits.Length+1];
        outDigits[0]=1;
        return outDigits;
    }
复制代码
相关推荐
怪奇云呼军25 分钟前
知识库也会注入指令?闪电智能VoiceAgent 如何防住 Prompt Injection
人工智能·python·算法·云计算·音视频
阿里云大数据AI技术1 小时前
基于 EMR Serverless Ray 实现 Qwen 模型批量推理实践
人工智能·算法·agent
GGMM7892 小时前
富士 EP‑3955D 变频器主板维修调试笔记
笔记·变频器·变频器维修
Rambo.xia2 小时前
为什么去马赛克算法,决定了ISP的画质上限
算法·接口隔离原则
今儿敲了吗2 小时前
CN——网络层(上)
网络·笔记
Benny_Tang2 小时前
题解:P10230 [COCI 2023/2024 #4] Lepeze
c++·算法
Geek-Chow2 小时前
06 训练管线:数据如何变成权重
人工智能·算法
我变成萤火虫3 小时前
反悔贪心(经典题目讲解)
c++·算法·贪心算法·stl·排序算法·反悔贪心
nike0good3 小时前
April Fools Day Contest 2026 题解
算法·题解·愚人节比赛