Leetcode 66:加一 Plus One

栏目: 编程工具 · 发布时间: 4年前

内容简介:给定一个由最高位数字存放在数组的首位, 数组中每个元素只存储一个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。

给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。

最高位数字存放在数组的首位, 数组中每个元素只存储一个数字。

你可以假设除了整数 0 之外,这个整数不会以零开头。

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

The digits are stored such that the most significant digit is at the head of the list, and each element in the array contain a single digit.

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

示例 1:

输入: [1,2,3]
输出: [1,2,4]
解释: 输入数组表示数字 123。

示例 2:

输入: [4,3,2,1]
输出: [4,3,2,2]
解释: 输入数组表示数字 4321。

java:

class Solution {
public int[] plusOne(int[] digits) {
for( int i=digits.length;i>=0;i--){
if(digits[i]+1==10){
digits[i]=0;
}else {
digits[i]+=1;
break;
}
}
if(digits[0]==0){
int[] digits2=new int[digits.length+1];
digits2[0]=1;
return digits2;
}else {
return digits;
}
}
}

思路:

指针从最后向前移动,若加1后值为10,该项赋值0,并向前索引逐个加1,直到一项不等于10时退出循环。最后判断首位,如果为0则证明数组长度需要进一位。这里新建一个长度比原数组大一位。只需首位赋值1即可,因为固定长度数组默认赋值0。

python3:

class Solution:
def plusOne(self, digits: List[int]) -> List[int]:
"""

:type digits:int
:return: int
"""

num = 0
for i in range(len(digits)):
num = num*10 + digits[i]
return [int(i) for i in str(num+1)]

1、 python 3则可以有很多实现方法,可以像以上 java 那种。

2、可以把数组digits倒置 reversed(digits) ,然后索引从第一项逐项加1,最后一项如果为0,则直接对数组下一项赋值1(python3数组可动态扩展 digits.append(1) )。最后返回数组倒置 reversed(digits)

3、再就是如上转换成string方式。先把数组转成整型数字,然后加一(python整形数字大小不像java、c\c++,py没有上下限制),最后转换字符串逐个输出char字符并强制转换int型

Leetcode 66:加一 Plus One


以上所述就是小编给大家介绍的《Leetcode 66:加一 Plus One》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Python金融衍生品大数据分析:建模、模拟、校准与对冲

Python金融衍生品大数据分析:建模、模拟、校准与对冲

【德】Yves Hilpisch(伊夫·希尔皮斯科) / 蔡立耑 / 电子工业出版社 / 2017-8 / 99.00

Python 在衍生工具分析领域占据重要地位,使机构能够快速、有效地提供定价、交易及风险管理的结果。《Python金融衍生品大数据分析:建模、模拟、校准与对冲》精心介绍了有效定价期权的四个领域:基于巿场定价的过程、完善的巿场模型、数值方法及技术。书中的内容分为三个部分。第一部分着眼于影响股指期权价值的风险,以及股票和利率的相关实证发现。第二部分包括套利定价理论、离散及连续时间的风险中性定价,并介绍......一起来看看 《Python金融衍生品大数据分析:建模、模拟、校准与对冲》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具