LeetCode第66题加一

继续打卡算法题,今天学习的是LeetCode第66题加一,这道题目是道简单题。算法题的一些解题思路和技巧真的非常巧妙,每天看一看算法题和解题思路,我相信对我们的编码思维和编码能力有一些提升。

分析一波题目

这个题目是简单题,一个数字加一本来是件容易的事情,当时数字使用数组表示,然后再加一且用数组返回,这样就提升了一点难度。

其实数字加一,主要是进位的情况需要考虑清楚。

如果一个数里没有9,这种情况非常简单,只要将个位加一就行。

如果一个数里都是9,这种情况,数会增加一位,第一位数字是1,并且其他位是0。

如果一个数里是以9结尾的,不管是多少个9,那么非9的最后一个数字加1,其他位是0。

哈哈,捋一捋,关键这几个情况就清晰了,下面可以开始写代码了。

本题解题技巧

1、分析每种需要加1,并且需要进位处理的情况,本题就可以解决了。

编码解决

java 复制代码
class Solution {
    public int[] plusOne(int[] digits) {

        for(int i=digits.length-1; i>=0; i--) {
            //遇到部分9结尾,或者不是9结尾的情况
            if(digits[i] != 9) {
                digits[i] = digits[i] +1;
                for(int j=i+1; j<digits.length; j++) {
                    digits[j] = 0;
                }
                return digits;
            }
        }
        //都是9的情况
        int[] result = new int[digits.length+1];

        result[0] = 1;
        return result;
    }
}

总结

1、简单题目,分析题目,找出规律,最后解题思路确实是比较简单的。

2、遇到题目,都可以先使用穷举或者举例推导,查找规律。

相关推荐
墨尘笔尖5 分钟前
最大最小值降采样算法的优化
c++·算法
2401_8955213421 分钟前
【Spring Security系列】Spring Security 过滤器详解与基于JDBC的认证实现
java·后端·spring
小码哥_常1 小时前
大文件上传不再卡顿:Spring Boot 分片上传、断点续传与进度条实现全解析
后端
_Evan_Yao1 小时前
RAG中的“Chunk”艺术:我试过10种切分策略后总结的结论
java·人工智能·后端·python·软件工程
今天你TLE了吗1 小时前
LLM到Agent&RAG——AI概念概述 第二章:提示词
人工智能·笔记·后端·学习
white-persist2 小时前
【vulhub shiro 漏洞复现】vulhub shiro CVE-2016-4437 Shiro反序列化漏洞复现详细分析解释
运维·服务器·网络·python·算法·安全·web安全
IT_陈寒2 小时前
Vue的响应式把我坑惨了,原来问题出在这
前端·人工智能·后端
网域小星球2 小时前
C++ 从 0 入门(六)|C++ 面试必知:运算符重载、异常处理、动态内存进阶(终极补充)
开发语言·c++·面试
shark22222223 小时前
能懂!基于Springboot的用户增删查改(三层设计模式)
spring boot·后端·设计模式
FL16238631293 小时前
基于C#winform部署软前景分割DAViD算法的onnx模型实现前景分割
开发语言·算法·c#