Java和javascript如何实现给指定数加一
发表于:2025-02-04 作者:千家信息网编辑
千家信息网最后更新 2025年02月04日,这篇文章主要为大家展示了"Java和javascript如何实现给指定数加一",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"Java和javascript如
千家信息网最后更新 2025年02月04日Java和javascript如何实现给指定数加一
这篇文章主要为大家展示了"Java和javascript如何实现给指定数加一",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"Java和javascript如何实现给指定数加一"这篇文章吧。
题目描述
给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。
最高位数字存放在数组的首位, 数组中每个元素只存储一个数字。
你可以假设除了整数 0 之外,这个整数不会以零开头。
示例 1:
输入: [1,2,3]
输出: [1,2,4]
解释: 输入数组表示数字 123。
示例 2:
输入: [4,3,2,1]
输出: [4,3,2,2]
解释: 输入数组表示数字 4321。
解题方案
思路
标签:数组遍历
这道题需要整理出来有哪几种情况,在进行处理会更舒服
末位无进位,则末位加一即可,因为末位无进位,前面也不可能产生进位,比如
45 => 46
末位有进位,在中间位置进位停止,则需要找到进位的典型标志,即为当前位后为0,则前一位加1,直到不为0为止,比如
499 => 500
末位有进位,并且一直进位到最前方导致结果多出一位,对于这种情况,需要在第2种情况遍历结束的基础上,进行单独处理,比如
999 => 1000
在下方的Java和JavaScript代码中,对于第三种情况,对其他位进行了赋值0处理,Java比较tricky直接new数组即可,JavaScript则使用了ES6语法进行赋值
时间复杂度:O(n)
代码
Java版本
class Solution {
public int[] plusOne(int[] digits) {
int len = digits.length;
for(int i = len - 1; i >= 0; i--) {
digits[i]++;
digits[i] %= 10;
if(digits[i]!=0)
return digits;
}
digits = new int[len + 1];
digits[0] = 1;
return digits;
}
}
JavaScript版本
/**
* @param {number[]} digits
* @return {number[]}
*/
var plusOne = function(digits) {
const len = digits.length;
for(let i = len - 1; i >= 0; i--) {
digits[i]++;
digits[i] %= 10;
if(digits[i]!=0)
return digits;
}
digits = [...Array(len + 1)].map(_=>0);;
digits[0] = 1;
return digits;
};
画解
以上是"Java和javascript如何实现给指定数加一"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!
数组
加一
末位
情况
数字
整数
输入
内容
篇文章
代码
基础
版本
示例
处理
学习
帮助
解释
输出
复杂
最高
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
钢琴陪练软件开发
网络安全真实案例山西
湘潭嵌入式软件开发
网络安全和产品培训心得
数据库中字符串用什么符号引用
劫持 服务器
合肥软件开发小公司
网络技术的目标顾客描述
远程监控服务器硬件
普网络技术有限公司
网络安全威胁嗅探技术
重新连接服务器原理
web服务器创建的网页打不开
软件开发公司工作环境
网络技术图书馆
博图触摸屏的数据库
激光干涉仪软件开发
深圳火山网络技术有限公司
tp获取一条数据库
德瑞软件开发有限责任公司
通州区正规软件开发资费
网络安全方面微课
服务器插件怎么安装
天台定制软件开发生产过程
江苏提供网络技术咨询热线
山东春考网络技术试题
网络安全靠大家画图片
企业应用软件开发工资
画出软件开发中的v模型
mc服务器插件怎么加入mod