博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
66. Plus One 数组加1
阅读量:4916 次
发布时间:2019-06-11

本文共 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

你可能感兴趣的文章
jenkins构建基于gradle的springboot项目CI采坑(采用jar方式部署)
查看>>
addInArray been called
查看>>
「主席树」学习笔记
查看>>
LeetCode:Sort Colors
查看>>
关于iscroll插件的使用
查看>>
Css预处理器---Less(一)
查看>>
AppCan - 推送问题一般日志排查步骤
查看>>
SQL语句总结
查看>>
什么是HTML?HTML怎么学?HTML基础教程
查看>>
把JavaScript对象转化成JSON对象
查看>>
redis数据丢失及解决
查看>>
glusterFS分布式存储部署流程
查看>>
数据链路层工作原理
查看>>
win 10 hosts文件不生效
查看>>
Hadoop.之.入门部署
查看>>
【HTML5 localStorage本地储存】简介&基本语法
查看>>
总有一项适合你:联想 Miix2 8寸版触摸屏失灵的各项解决方案
查看>>
ie8实现无刷新文件上传
查看>>
Struts2 Action扩展名的三种修改方法
查看>>
8.7.2 类的继承和方法的覆盖
查看>>