LeetCode(加一)

简介: 对LeetCode上的“加一”问题,提供了C++的解决方案,并讨论了不同情况下的加法操作,包括无进位、有进位以及最高位需要进位的情况。

LeetCode(加一)

给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。
最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。
你可以假设除了整数 0 之外,这个整数不会以零开头。

示例 1:
输入:digits = [1,2,3] 输出:[1,2,4]
解释:输入数组表示数字 123。

示例 2:
输入:digits = [4,3,2,1] 输出:[4,3,2,2]
解释:输入数组表示数字 4321。

示例 3:
输入:digits = [0] 输出:[1]

class Solution {
public:
    vector<int> plusOne(vector<int>& digits) {
        int flag = 1;                       //标记是否有进位
        for(int i=digits.size()-1;i>=0;i--)
        {
            flag = (digits[i] + 1)/10;
            digits[i] = (digits[i]+1)%10;
            if(flag == 0)                 //没有进位
                break; 
            if(i == 0)                    //最高位为9,进位一个1   
               digits.insert(digits.begin(),1);     
        }
        return digits;
    }
};

直接将数组逆序处理,只需要判断是否有进位即可
情况一:无进位
{1,2,3} 加一后没有进位
直接用flag标记没有进位,即flag = (3+1)/10 = 0
更改数组的值, (3+1)%10 = 4
判断无进位直接退出循环
情况二:有一次或者多次进位
{2,9,9} 加一后有进位
flag标记为,flag = (9+1)/10 = 1 循环继续执行
直到i=1时,flag = 0 退出循环
情况三:最高位需要进位
{9,9,9} 在情况二的基础之上 flag = 1 继续执行
那么就需要最高位进位,直接在数组头插入一个1即可

相关文章
|
机器学习/深度学习 数据挖掘
R实战|从文献入手谈谈logistic回归、Cox回归以及Lasso分析(一)
R实战|从文献入手谈谈logistic回归、Cox回归以及Lasso分析(一)
1187 0
|
2月前
|
传感器 数据挖掘
为你的数据选择合适的分布:8个实用的概率分布应用场景和选择指南
面对真实数据不知该用哪种分布?本文精炼总结8个实战必备概率分布,涵盖使用场景、避坑指南与代码实现。从二元事件到计数、等待时间、概率建模,再到小样本处理,教你快速选择并验证合适分布,用对模型显著提升分析准确性。
258 10
Mac 复制文件名目录路径
Mac 复制文件名目录路径
1505 0
|
算法 调度
深入理解操作系统之进程调度算法的设计与实现
【5月更文挑战第27天】 在多任务处理的现代操作系统中,进程调度算法是核心组件之一,负责决定哪个进程将获得CPU资源。本文不仅探讨了几种经典的进程调度算法,包括先来先服务(FCFS)、短作业优先(SJF)和轮转调度(RR),还分析了各自的优势、劣势及适用场景。此外,文章将深入讨论如何根据系统需求设计自定义调度算法,并提供了基于伪代码的实现示例。最后,通过模拟实验比较了这些算法的性能,以指导读者在实际操作系统设计时的选择与优化。
|
Java Windows 容器
【应用服务 App Service】快速获取DUMP文件(App Service for Windows(.NET/.NET Core))
【应用服务 App Service】快速获取DUMP文件(App Service for Windows(.NET/.NET Core))
218 4
|
机器学习/深度学习 人工智能 NoSQL
生成式AI赋能金融信贷:减少信用评分偏差
替代数据、人工智能和生成式 AI 的融合正在重塑信用评分的基础,标志着金融业进入了一个关键时刻
4532 3
通过patch-package创建补丁修改node_modules依赖下的源码
通过patch-package创建补丁修改node_modules依赖下的源码
435 0
|
存储 分布式计算 负载均衡
|
JavaScript 算法 前端开发
【VUE】Vue的diff算法和React的diff算法
【VUE】Vue的diff算法和React的diff算法
|
数据可视化 图形学 Python
下一篇
开通oss服务