LeetCode - 加一
题目
给定一个非负整数组成的非空数组,给整数加一。
可以假设整数不包含任何前导零,除了数字0本身。
最高位数字存放在列表的首位。
解法
https://github.com/biezhihua/LeetCode
解法的关键在于弄明白什么情况下会产生进位。
使用个位、十位、百位进行列举:
个位:
想让个位+1进位,那么个位必须为9
9+1 = 0
carry = 1
十位:
想让十位+1进位,那么十位必须为9,想要产生进位carry
,那么必须由个位进位而来。想让个位进位,个位必须为9.
99 + 1 = 00
carry = 1
百位:
想让百位+1进位,那么百位必须为9,想要产生进位carry
,那么必须由十位进位而来,想让十位进位,那么十位必须为9,想要产生进位,个位必须为9。
999 + 1 = 000
carry = 1
根据以上可以推论得出两种情况:
- 最高位进位
- 最高位不进位
最高位进位
若最高位进位,那么比他低的位数字都为9,且加1后都为0,需要初始化一个长度为(lenght+1)
的新数组,0
位置为1代表进位。
最高位不进位
若最高位不进位,那么不需要产生新数组,后续数字由更低位计算而来。
public int[] plusOne(int[] digits) {int carry = 1;for (int i = digits.length - 1; i >= 0; i--) {if (carry == 0) {return digits;}int tmp = digits[i] + carry;carry = tmp / 10;digits[i] = tmp % 10;}if (carry != 0) {int[] result = new int[digits.length + 1];result[0] = 1;return result;}return digits;
}
LeetCode - 加一相关推荐
- LeetCode(加一)
LeetCode(加一) 给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一. 最高位数字存放在数组的首位, 数组中每个元素只存储单个数字. 你可以假设除了整数 0 之外,这个整数不会以 ...
- leetcode/加减的目标值,给数组元素添加+或-号组成的表达式值=target的方案数
代码 package com.xcrj;import java.util.Arrays;/*** 剑指 Offer II 102. 加减的目标值* 给定一个正整数数组 nums 和一个整数 targe ...
- leetcode 加一
109 / 109 个通过测试用例 状态:通过 执行用时:1 ms 内存消耗:34.9 MB 提交时间:6 月,3 周之前 class Solution {public int[] plusOne(i ...
- 力扣 (LeetCode)-对称二叉树,树|刷题打卡
Github来源:力扣 (LeetCode)|刷题打卡 | 求星星 ✨ | 给个❤️关注,❤️点赞,❤️鼓励一下作者 [已开启]任务一:刷题打卡 * 10 篇 哪吒人生信条:如果你所学的东西 处于喜欢 ...
- JavaScript刷LeetCode拿offer-经典高频40题
工作太忙没有时间刷算法题,面试的时候好心虚.这里双手奉上40道LeetCode上经典面试算法题,整理的内容有点长,建议先收藏,慢慢消化,在来年顺利拿到满意的offer. 1.[LeetCode] 两数 ...
- eslint是什么_为什么eslint没有 no-magic-string?
为什么eslint没有 no-magic-string? 最近参加了几次公司组内的Code Review, 发现了一些问题.其中一些问题可以通过工具(比如eslint)解决. 我们就想着通过工具自动化 ...
- python求长整数_python 长整数
Python 的整数与 Numpy 的数据溢出 某位 A 同学发了我一张截图,问为何结果中出现了负数? 看了图,我第一感觉就是数据溢出了.数据超出能表示的最大值,就会出现奇奇怪怪的结果. 然后,他继续 ...
- 双非本数据岗的秋招过程
个人背景: 双非本信管专业,财经211硕管科专业,无论文,本硕绩点排名都在20%左右,六级分数500+:一共两份实习经验,第一份是外企的数据处理工作,第二份是外企的数据研发. 个人目标: 外企和国企等 ...
- 【日记】Java学习日记(第63天)持续无聊更新
前言 Youtube上EJ Media(up主)的视频我依次学完了HTML.CSS.Javascript.Jquery.觉得他教得挺好的(短小精悍),就继续学他教的JAVA.感觉EJ教的都是些语法什么 ...
- LeetCode 64最小路径和65有效数字66加一
原创公众号:bigsai 专注于Java.数据结构与算法,一起进大厂不迷路! 关注后回复进群即可加入力扣打卡群,欢迎划水.近期打卡: LeetCode打卡 52八皇后Ⅱ&53最大子序和& ...
最新文章
- vue 非template模式_vue-template-compiler 还能这么用
- deepl真的有取代一般翻译的能力,这吞吐量和稳定性...亲测有效
- NYOJ-523 亡命逃窜(三维立体的BFS)
- orakill和alter system kill session的区别
- 用Express、MySQL搭建项目(接口以及静态文件获取、文件上传等)
- weblogic内存溢出linux,解决weblogic内存溢出有关问题
- github ssh 配置_Github远程仓库克隆更新本机,SSH协议免密操作配置和注意事项
- Spring总结四:IOC和DI 注解方式
- 安装版mysql5.7_mysql5.7 安装版安装
- Linux学习课程笔记(1)
- VS.左侧_蓝黄绿_竖线
- c++获得cpu厂商_【C++】WMI获取系统硬件信息(CPU/DISK/NetWork etc)
- 韦东山嵌入式Linux三大学习路线
- 怎样设置rotacast插件_Revit插件|提取地形图上地形小插件(感觉一般,可以试试)...
- msm8937 bootloader流程分析
- 文件后缀和相应的文件类型,打开方法参考大全
- 真假马云Deciphering Jack Ma
- 用request模块爬取拉钩招聘信息
- matlab ecu代码,嵌入式代码生成 - 汽车 ECU 产品级代码 - MATLAB Simulink
- 基于Python实现英文单词学习系统
热门文章
- java 调用gephi_Gephi可视化(一)——使用Gephi Toolkit创建Gephi应用
- 魔兽世界服务器名称修改,魔兽世界怀旧服服务器名称
- 《哈佛大学公开课:幸福课》 学习笔记(1)
- Linux--用xmanager远程管理的设定过程
- 基于littlevgl设计的手表模拟时钟表盘(附代码)
- 鸡兔同笼——算法详解
- 第二次作业-语言和文法
- css字体设置为白色,css怎么将字体设置成白色
- 2020ubc大学计算机硕士录取条件,2020Fall录取|研究牛校UA阿尔伯塔大学计算机硕士两年全奖!...
- 由浅入深玩转华为WLAN—12安全认证配置(5)Portal认证,外置Protal服务器TSM对接