Java和javascript如何实现给指定数加一
发表于:2024-11-25 作者:千家信息网编辑
千家信息网最后更新 2024年11月25日,这篇文章主要为大家展示了"Java和javascript如何实现给指定数加一",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"Java和javascript如
千家信息网最后更新 2024年11月25日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安全错误
数据库的锁怎样保障安全
数据库的date怎么输入
人蛋白和基因对应数据库
常州专业网络安全准入控制系统
计算机及网络技术课程视频
焦作大学软件开发代码
数据库怎么添加主键外键
mediline是什么数据库
云南软件开发国企
扫码支付是网络技术吗
服务器 硬件防火墙
佛山市顺德区合意软件开发
以人民为中心 数据库
jsp网页聊天室数据库
腾达嵌入式软件开发公司
京东软件开发工程学什么
北京正规的软件开发公司
夏小卫软件开发
计算机网络技术基础舞蹈教学
数据库的模式是什么
qq群共享服务器响应失败
好听的软件开发工作室名字
黑龙江pdu服务器电源哪家可靠
数据库中删除数据库已经存在的表
手机怎么下载云端服务器
服务器的硬件结构图
数据库服务器有哪些产品
如何合理设计一个数据库
mysql给用户数据库授权
重庆定制软件开发流程
成都直播软件开发公司有哪些