0
点赞
收藏
分享

微信扫一扫

高考前一天,六月六号,加一!

zmhc 2022-09-22 阅读 173

高考前一天,六月六号,加一!_git

明天就是高考,祝广大考生顺利完成从高中到大学的加一进位之旅。

今天分享的题目来源于 LeetCode 上第 66 号问题:加一。题目难度为 Easy,目前通过率为 39.0% 。

题目描述

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

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

你可以假设除了整数 0 之外,这个整数不会以零开头。

示例 1:

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

示例 2:

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

示例 3:

//为了更好理解题意,根据 LeetCode 评论区评论新增一个示例输入: [9,9]输出: [1,0,0]解释: 输入数组表示数字 100。输入: [9,9]
输出: [1,0,0]
解释: 输入数组表示数字 100。

题目解析

本题很简单,题目意思也很好理解,注意的点就是 进位问题

动画描述


高考前一天,六月六号,加一!_赋值_02


高考前一天,六月六号,加一!_赋值_03

代码实现

public class Solution {    public int[] plusOne(int[] digits) {        int n = digits.length;        //从数组末尾开始向前遍历        for (int i = digits.length - 1; i >= 0; --i) {            if (digits[i] < 9) {                digits[i]++;                //没有进位,直接返回                return digits;            }            //产生进位,需要将该位赋值为 0             digits[i] = 0;        }        //整体产生了进位,数组长度需要变化加 1        int[] res = new int[n + 1];        res[0] = 1;        return res;    }}class Solution{
public int[] plusOne(int[] digits) {
int n = digits.length;
//从数组末尾开始向前遍历
for (int i = digits.length - 1; i >= 0; --i) {
if (digits[i] < 9) {
digits[i]++;
//没有进位,直接返回
return digits;
}
//产生进位,需要将该位赋值为 0
digits[i] = 0;
}
//整体产生了进位,数组长度需要变化加 1
int[] res = new int[n + 1];
res[0] = 1;
return res;
}
}

题外话

明天就是高考,祝广大考生顺利完成从高中到大学的加一进位之旅。

今天是高考前一天,六月六号,距离我的高考已过去十年。

我女朋友是高中同学,小名叫六六。

我永远爱她。

也祝大家顺利找到自己的另外一半,加一!

高考前一天,六月六号,加一!_赋值_04




举报

相关推荐

0 条评论