力扣算法笔记——加一

题目信息:

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

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

你可以假设除了整数 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;
    }
复制代码
相关推荐
蒸蒸yyyyzwd1 小时前
从面经中学到的三件事
c++·笔记
罗西的思考2 小时前
[Agent Memory / 强化学习] MemPO源码学习笔记 --- (2)--- 训练
人工智能·算法·机器学习
深圳市方中禾科技3 小时前
FZH1625 LCD 驱动芯片深度评测与实战指南
算法·led
我不会起名字3223 小时前
一天一道算法题(34):回溯法的经典例题(子集)
java·数据结构·python·算法·golang·深度优先·力扣
IT小白杨4 小时前
社媒多账号运营的环境隔离:一张图谱模型,解释清“为什么换IP还是被连坐“
经验分享·笔记·矩阵·指纹浏览器
huang5791475 小时前
哈希算法的抗碰撞机制与安全性增强策略4
算法
林浩杨_6 小时前
SIGIR 2026|南京大学:Video-GAR:“通过生成 Query 来验证视频语义理解”的生成增强范式
论文阅读·人工智能·算法
Elsa️7466 小时前
算法一周刷题总结
c++·算法
小小程序猴16 小时前
深圳乘路资讯AI培训怎么样?课程靠谱吗?——一套课程可信度评估模型与实证分析
人工智能·算法
云上先途6 小时前
标签化服务适合哪些人?常见适用场景一次讲清
大数据·人工智能·算法·音视频