Leetcode加一 (java、python3)
加一
给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。
最高位数字存放在数组的首位, 数组中每个元素只存储一个数字。
你可以假设除了整数 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;
}
}
}
思路:
指针从最后往前移动,若值为10逐个加一,并赋值0。不等于10则退出循环。首位如果为是0则证明需要进一。这里新建一个长度比原数组大一。只需首位赋值1即可。
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)]
python3则可以有很多实现方法,可以像以上java那种。
可以把数组digits倒置,reversed(digits)
然后逐项加1,最后如果为0,则直接对数组下一项赋值1(python3数组可动态扩展)。最后返回倒置数组。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
-
上一篇
python学习之路——基础语法篇(1)
一、数据类型初识 -数字,包括int(用%d输出),float(用%f输出)age=18-布尔,只有两种取值,True或Falseflag=True-字符串,在python中,字符串是一个类name='张三'-列表,列表里面的内容可以是不同的数据类型l=['张三',18,'李四']-元组,元组和列表的区别在于元组里面的内容不能重复s=(1,2,3,4)-字典,冒号前面的称为键(key),后面的称为值(value)d={'张三':18,'李四':19} 二、变量的定义与输入输出 1.变量的定义 python中的变量定义很简单,不需要像C/JAVA等定义变量类型,也不以分号表示结尾,直接用等号赋值即可: name='张三' age=18 2.变量的输入 使用input函数,input输入默认的是string也就是字符串类型,如果要输入其它类型比如说int类型的数字,需要进行强制类型转换 age= input("age:") if age.isdigit() : # 判断是否为数字 salary = int(salary) # 将string转换为int类型 因为输入的时候可能会输入空格,如...
-
下一篇
2019 年了,为什么我还在用 jQuery?
译者按: 看来 jQuery 还是有一些用武之地的。 原文: Why I'm Still Using jQuery in 2019 译者: Fundebug 为了保证可读性,本文采用意译而非直译。翻译仅供学习探讨,不代表 Fundebug 观点。 许多人都在提倡: “直接用原生的 JavaScript 就好了,不需要 jQuery 了”。 You might not need jQuery尝试告诉我们,摆脱 jQuery 是一件很容易的事情。但是,它的第一个例子恰恰告诉我们用 jQuery 其实也不错,因为我们写了 10 行原生的 JavaScript 代码,其实只需要 1 行 jQuery 代码就够了。 很多 JavaScript 的 API,尤其是 DOM 相关的 API,挑战了我的审美哲学,直白点说,我觉得它们太糟糕了!el.insertAdjacentElement('afterend', other)当然也可以用,但是$(el).after(other)更加简洁。$()函数也没那么好看,我没有特别喜欢,但是它比原生的 API 好太多了。 你们如何获取某个元素的 sibling...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2整合Redis,开启缓存,提高访问速度
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- Dcoker安装(在线仓库),最新的服务器搭配容器使用
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS7,8上快速安装Gitea,搭建Git服务器