66. Plus One 数组加1
发布日期:2021-08-14 17:36:21 浏览次数:9 分类:技术文章

本文共 1636 字,大约阅读时间需要 5 分钟。

[抄题]:

Given a non-negative integer represented as a non-empty array of digits, plus one to the integer.

You may assume the integer do not contain any leading zero, except the number 0 itself.

The digits are stored such that the most significant digit is at the head of the list.

给定 [1,2,3] 表示 123, 返回 [1,2,4].

给定 [9,9,9] 表示 999, 返回 [1,0,0,0].

 [暴力解法]:

时间分析:

空间分析:

[奇葩输出条件]:

[奇葩corner case]:

[思维问题]:

不知道对进不进位如何分类。提前return就无忧了

[一句话思路]:

[输入量]:空: 正常情况:特大:特小:程序里处理到的特殊情况:异常情况(不合法不合理的输入):

[画图]:

[一刷]:

  1. 不需要对answer数组的后面若干位赋值了,初始化时自动=0。感觉是针对此题特殊的
  2. 有角标循环的时候,提前备注:0- n-1,无论正序、倒序

[二刷]:

[三刷]:

[四刷]:

[五刷]:

  [五分钟肉眼debug的结果]:

[总结]:

备注0 to n -1

[复杂度]:Time complexity: O(n) Space complexity: O(n)

[英文数据结构或算法,为什么不用别的数据结构或算法]:

[关键模板化代码]:

for (int i = n - 1; i >= 0; i--) {            if (digits[i] < 9) {                digits[i]++;                return digits;            }else {                digits[i] = 0;            }        }

[其他解法]:

[Follow Up]:

[LC给出的题目变变变]:

369. Plus One Linked List dummynode要想到,两根指针也行 我还是太天真

 [代码风格] :

public class Solution {    /**     * @param digits: a number represented as an array of digits     * @return: the result     */    public int[] plusOne(int[] digits) {        //not carry        int n = digits.length;        //0 to n-1 whenever        for (int i = n - 1; i >= 0; i--) {            if (digits[i] < 9) {                digits[i]++;                return digits;            }else {                digits[i] = 0;            }        }        //carry, need new array        int[] answer = new int[n + 1];        answer[0] = 1;        return answer;    }}
View Code

 

转载于:https://www.cnblogs.com/immiao0319/p/8570427.html

转载地址:https://blog.csdn.net/weixin_30731287/article/details/95566165 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:范式原则
下一篇:查找目录下的所有文件中是否含有某个字符串 linux

发表评论

最新留言

关注你微信了!
[***.104.42.241]2024年11月16日 21时31分22秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

python绑定事件_Python tkinter之Bind(绑定事件)的使用示例 2019-06-17
scala map java map_scala中Map集合的简单使用 2019-06-17
java构造方法左右_java构造方法 2019-06-17
药店零售管理php系统,小型药店销售管理系统 2019-06-17
linux找pid调用网卡,Linux通过网络端口(或者PID)查找运行程序路径 2019-06-17
linux 网卡em1 eth0,配置bond网卡, em1, em2 和 eth0, eth1是什么区别? 2019-06-17
linux c语言 exit函数,C语言中exit();怎么用? 2019-06-17
linux scons源码安装,SCons 第一章 构建并安装SCons 2019-06-17
c语言 虚函数,C语言模拟虚函数表 2019-06-17
c语言排序算法冒泡,排序算法——冒泡算法(C语言版) 2019-06-17
华为p10android版本,终于来了:华为P10系列开启安卓8.0内测 2019-06-17
my android什么意思,是什么“';'预期“意思? 2019-06-17
android ui界面元素,Android的界面元素UI 2019-06-17
signature=9cf852a3b7f1aa11fbf981d46275fb63,Signature: _____________________ 10 May 2007 2019-06-17
五彩泡沫html5游戏,HTML5 Canvas 泡沫色彩变幻动画 2019-06-17
鸿蒙操作系统首次亮相,华为鸿蒙操作系统UI专利首次亮相 2019-06-17
华为鸿蒙新版即将揭开面纱,华为鸿蒙新版即将揭开面纱 2019-06-17
html显示单行文本框表单元素有哪些,常见的表单元素有哪些?各有什么属性?... 2019-06-17
聚类分析tensorflow实例_浅议聚类算法在TensorFlow平台中的应用前景 2019-06-17
matlab柱坐标,matlab柱坐标的实现方法 2019-06-17