前端与算法 leetcode 66. 加一
2024-09-19 19:23:59
前端与算法 leetcode 66. 加一
题目描述
给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。
最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。
你可以假设除了整数 0 之外,这个整数不会以零开头。
示例 1:
输入: [1,2,3]
输出: [1,2,4]
解释: 输入数组表示数字 123。
示例 2:
输入: [4,3,2,1]
输出: [4,3,2,2]
解释: 输入数组表示数字 4321。
概要
考虑一下进位情况即可,新建一个空数组,长度是传入数组的长度+1,然后给第一个位+1返回此数组即可
提示
解析
解法一
题的意思只是加一,这意味着它的情况只有两种,末位为9或不为9
末位为9时加一位时进位为0,如果不出现进位运算时结束循环
考虑特殊情况99,99999等,手动创建数组填入0
解法二
从后往前依次给每个数加一,加一后大于10则对10取余,一直到数组的头部的时候i===0
数组头部加入一位1即可
算法
/**
* @param {number[]} digits
* @return {number[]}
*/
var plusOne = function(digits) {
for (let i = digits.length - 1; i >= 0; i--) {
digits[i]++
digits[i] = digits[i] % 10
if (digits[i] !== 0) return digits
}
digits = new Array(digits.length + 1)
for (let i = 1; i < digits.length; i++) {
digits[i] = 0
}
digits[0] = 1
return digits
// 解法2
// for (let i = digits.length - 1; i >= 0; i--) {
// digits[i]++
// if (digits[i] >= 10) {
// digits[i] = digits[i] % 10
// if (i === 0) {
// digits.unshift(1)
// break
// }
// } else {
// break
// }
// }
// return digits
};
传入[1,2,3]
的运行结果
[1,2,4]
执行结果
执行用时 :44 ms, 在所有 javascript 提交中击败了100.00% 的用户
内存消耗 :33.7 MB, 在所有 javascript 提交中击败了33.81%的用户
最新文章
- Oracle 11g静默安装软件+手工创建数据库
- maven打包jar包
- C语言递归,非递归实现翻转链表
- [译]Create a Web API in MVC 6
- php 版本的indexof —— strpos坑爹
- linux下的文件系统
- ASP.NET CompareValidator 控件在VS2012中出错的问题
- [MVC4-基礎] 從資料庫取值顯示在DropDownList中
- linux文件名乱码解决办法
- java 协调同步的线程
- 【原创】bootstrap框架的学习 第六课[bootstrap代码]
- 通过Percona Xtrabackup实现数据的备份与恢复
- Python基础-week02
- 玩转Leveldb原理及源码--拙见1
- 在app内打开自己app的专用设置界面
- Basic Linux Privilege Escalation
- mybatis:三种参数传递(转载)
- [ExcelHome]15个常用的Excel函数公式,拿来即用
- map reduce 用法 str处理lower() capitalize()
- CorelDRAW中如何复制对象属性详解
热门文章
- abp radio表单元素 消失了
- 传统ELK分布式日志收集的缺点?
- MongoDB 大数据技术之mongodb中在嵌套子文档的文档上面建立索引
- Cookie实现购物车功能
- UFUN函数 UF_CSYS函数 UF_MTX函数(如何创建坐标系);
- diffy 方便的bug 以及流量测试系统
- 洛谷p2672推销员题解
- SQL进阶-隐式类型转换
- win10中通过Anaconda安装tensorflow时报错Traceback (most recent call last): File “E:\Anaconda3\lib\site-packages\pip_vendor\urllib3\response.py”, line 360, in _error_catcher yield
- 数据接口-免费版(股票数据API)