【leetcode-66】 加一
给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。
最高位数字存放在数组的首位, 数组中每个元素只存储一个数字。
你可以假设除了整数 0 之外,这个整数不会以零开头。
示例 1:
输入: [1,2,3]
输出: [1,2,4]
解释: 输入数组表示数字 123。
示例 2:
输入: [4,3,2,1]
输出: [4,3,2,2]
解释: 输入数组表示数字 4321。 我的错误解法:
不能转为数字然后操作,算法正确但是会越界然后得不到正确结果
public static int[] plusOne(int[] digits) {
int num = 0;
for (int i=0;i<digits.length;i++) {
num = num*10 + digits[i];
}
num = num + 1;
//新数长度
int length = 0;
int k = num;
while(k !=0) {
k /= 10;
length++;
}
int[] res = new int[length];
for (int i=length-1;i>=0;i--) {
res[i] = num%10;
num = num/10;
}
return res;
}
参考解法:
链接:https://www.nowcoder.com/questionTerminal/4d135ddb2e8649ddb59ee7ac079aa882
来源:牛客网 //1.不需要flag! 从右向左,遇到9就变0,非9就加1,然后break;
//2.digits[0]如果等于0,说明长度增加了1,则新建数组,首位为1,其他位为0;
public int[] plusOne(int[] digits) {
for (int i = digits.length-1; i >= 0 ; i--) {
if (digits[i] == 9)digits[i] = 0;
else {
digits[i] = digits[i]+1;
break;
}
}
if (digits[0] == 0){
int[] arr = new int[digits.length+1];
arr[0] = 1;
for (int i = 1; i < arr.length; i++) arr[i] = 0;
return arr;
}
return digits;
}
【leetcode-66】 加一的更多相关文章
- 前端与算法 leetcode 66. 加一
目录 # 前端与算法 leetcode 66. 加一 题目描述 概要 提示 解析 解法一 解法二 算法 # 前端与算法 leetcode 66. 加一 题目描述 给定一个由整数组成的非空数组所表示的非 ...
- Java实现 LeetCode 66 加一
66. 加一 给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一. 最高位数字存放在数组的首位, 数组中每个元素只存储单个数字. 你可以假设除了整数 0 之外,这个整数不会以零开头. 示 ...
- [LeetCode]66. 加一(数组)
###题目 给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一. 最高位数字存放在数组的首位, 数组中每个元素只存储单个数字. 你可以假设除了整数 0 之外,这个整数不会以零开头. 示例 ...
- python(leetcode)-66加一问题
给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一. 最高位数字存放在数组的首位, 数组中每个元素只存储一个数字. 你可以假设除了整数 0 之外,这个整数不会以零开头. 示例 1: 输入 ...
- Leetcode——66.加一
@author: ZZQ @software: PyCharm @file: leetcode66_加一.py @time: 2018/11/29 16:07 要求:给定一个由整数组成的非空数组所表示 ...
- Leetcode 66.加一 By Python
思路 如果单独操作最后一个元素,令其加一,满十进一,会挺麻烦的,要分情况. 所以我的思路是将list还原到字符串,再变成数值,直接+1,然后再还原到list.详见代码 代码 class Solutio ...
- [LeetCode]66.加一(Java)
原题地址: plus-one 题目描述: 给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一. 最高位数字存放在数组的首位, 数组中每个元素只存储单个数字. 你可以假设除了整数 ...
- leetcode 66.加一 python3
class Solution: def plusOne(self, digits): """ :type digits: List[int] :rtype: List[i ...
- LeetCode:加一【66】
LeetCode:加一[66] 题目描述 给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一. 最高位数字存放在数组的首位, 数组中每个元素只存储一个数字. 你可以假设除了整数 0 之外 ...
- 【Leetcode】【简单】【66. 加一】【JavaScript】
题目描述 66. 加一 给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一. 最高位数字存放在数组的首位, 数组中每个元素只存储单个数字. 你可以假设除了整数 0 之外,这个整数不会以零 ...
随机推荐
- Crazy Circuits HDU - 3157(有源汇有上下界最小流)
给出每条边的下界 求最小流 板题 提供两个板子代码 虽然这个题 第一个比较快 但在loj上https://loj.ac/problem/117 的板题 第一个1700+ms 第二个才600+ms ...
- 【XSY2744】信仰圣光 分治FFT 多项式exp 容斥原理
题目描述 有一个\(n\)个元素的置换,你要选择\(k\)个元素,问有多少种方案满足:对于每个轮换,你都选择了其中的一个元素. 对\(998244353\)取模. \(k\leq n\leq 1525 ...
- 【BZOJ3379】【USACO2004】交作业 区间DP
题目描述 数轴上有\(n\)个点,你要从位置\(0\)去位置\(B\),你每秒钟可以移动\(1\)单位.还有\(m\)个限制,每个限制\((x,y)\)表示你要在第\(t\)秒之后(可以是第\(t\) ...
- Jeesite 自定义api接口 404 访问不到页面
1.类上面要有路径 @RequestMapping(value = "${adminPath}/sys/good") adminPath 值可以在 jeesite.properti ...
- Luogu P5290 / LOJ3052 【[十二省联考2019]春节十二响】
联考Day2T2...多亏有这题...让我水了85精准翻盘进了A队... 题目大意: 挺简单的就不说了吧...(这怎么简述啊) 题目思路: 看到题的时候想了半天,不知道怎么搞.把样例画到演草纸上之后又 ...
- rt-thread之 for (fn_ptr = &__rt_init_rti_board_start; fn_ptr < &__rt_init_rti_board_end; fn_ptr++) 理解
@2019-01-30 [小记] 利用宏 INIT_EXPORT() --- __attribute__() 将函数重新放置在自定义段,执行时去该段获取函数地址 RT-Thread 的 INIT_BO ...
- bzoj1066 蜥蜴 (dinic)
最大流板子题. 对于每根柱子,建两个点ai,bi,建边(ai,bi,柱子高度) 对于距离不超过d的两根柱子i,j,建边(bi,aj,inf) 对于起始位置在i的每个蜥蜴,建边(S,ai,1) 对于能跳 ...
- Keepalived+Nginx搭建主从高可用并带nginx检测
应用环境:部分时候,WEB访问量一般,或者测试使用,利用Keepalived给Nginx做高可用即可满足要求. 测试环境: 搭建步骤: 1. 安装软件 在Nginx-A和Nginx-B上: ~]# ...
- 在 Docker 中使用 mysql 的一些技巧
启动到后台: docker-compose start docker-composer 执行命令: entrypoint: pwd app: build: ./app working_dir: /a ...
- OpenLayers学习笔记(六)— 拖拽叠加层overlayer
是在官网例子基础上增加的拖拽功能 GitHub:八至 作者:狐狸家的鱼 本文链接:拖拽叠加层overlayer 全部代码 <!DOCTYPE html> <html> < ...