首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >LeetCode - #66 加一

LeetCode - #66 加一

作者头像
Swift社区
发布于 2022-12-10 09:47:57
发布于 2022-12-10 09:47:57
38400
代码可运行
举报
文章被收录于专栏:Swift社区Swift社区
运行总次数:0
代码可运行

前言

我们社区陆续会将顾毅(Netflix 增长黑客,《iOS 面试之道》作者,ACE 职业健身教练。)的 Swift 算法题题解整理为文字版以方便大家学习与阅读。

LeetCode 算法到目前我们已经更新了 65 期,我们会保持更新时间和进度(周一、周三、周五早上 9:00 发布),每期的内容不多,我们希望大家可以在上班路上阅读,长久积累会有很大提升。

不积跬步,无以至千里;不积小流,无以成江海,Swift社区 伴你前行。如果大家有建议和意见欢迎在文末留言,我们会尽力满足大家的需求。

难度水平:简单

1. 描述

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

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

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

2. 示例

示例 1

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
输入:digits = [1,2,3]
输出:[1,2,4]
解释:输入数组表示数字 123

示例 2

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
输入:digits = [4,3,2,1]
输出:[4,3,2,2]
解释:输入数组表示数字 4321

示例 3

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
输入:digits = [0]
输出:[1]

约束条件:

  • 1 <= digits.length <= 100
  • 0 <= digits[i] <= 9

3. 答案

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
class PlusOne {
    func plusOne(digits: [Int]) -> [Int] {
        var digits = digits
        var index = digits.count - 1
        
        while index >= 0 {
            if digits[index] < 9 {
                digits[index] += 1
                return digits
            }
            
            digits[index] = 0
            index -= 1
        }
        
        digits.insert(1, atIndex: 0)
        return digits
    }
}
  • 主要思想:迭代并将数组从最后一个更改为第一个。
  • 时间复杂度: O(n)
  • 空间复杂度: O(1)

该算法题解的仓库:LeetCode-Swift[1]

点击前往 LeetCode[2] 练习

关于我们

Swift社区是由 Swift 爱好者共同维护的公益组织,我们在国内以微信公众号的运营为主,我们会分享以 Swift实战SwiftUlSwift基础为核心的技术内容,也整理收集优秀的学习资料。

特别感谢 Swift社区 编辑部的每一位编辑,感谢大家的辛苦付出,为 Swift社区 提供优质内容,为 Swift 语言的发展贡献自己的力量,排名不分先后: 张安宇@微软[3]戴铭@快手[4]展菲@ESP[5]倪瑶@Trip.com[6]杜鑫瑶@新浪[7]韦弦@Gwell[8]张浩@讯飞[9]张星宇@ByteDance[10]郭英东@便利蜂[11]何敏[12]

参考资料

[1]

LeetCode-Swift: https://github.com/soapyigu/LeetCode-Swift

[2]

LeetCode: https://leetcode.com/problems/plus-one/

[3]

张安宇: https://blog.csdn.net/mobanchengshuang

[4]

戴铭: https://ming1016.github.io

[5]

展菲: https://github.com/fanbaoying

[6]

倪瑶: https://github.com/niyaoyao

[7]

杜鑫瑶: https://weibo.com/u/3878455011

[8]

韦弦: https://www.jianshu.com/u/855d6ea2b3d1

[9]

张浩: https://github.com/zhanghao19920218

[10]

张星宇: https://github.com/bestswifter

[11]

郭英东: https://github.com/EmingK

[12]

何敏: https://weibo.com/3483803314/profile?rightmod=1&wvr=6&mod=personinfo&is_all=1

- EOF -

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-07-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Swift社区 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
【MySQL】MySQL知识总结
随着,应用程序的功能越来越复杂,数据量越来越大,如何管理这些数据就成了一个 大问题。
半生瓜的blog
2023/05/13
7.7K1
【MySQL】MySQL知识总结
学会Mysql第三天
1、having 是在 group by 子句之后:可以针对分组数据进行统计筛选。
白胡杨同学
2020/04/16
8360
MySQL 有这一篇就够(呕心狂敲37k字,只为博君一点赞!!!)
知识无底,学海无涯,到今天进入MySQL的学习4天了,知识点虽然简单,但是比较多,所以写一篇博客将MySQL的基础写出来,方便自己以后查找,还有就是分享给大家。
全栈程序员站长
2022/07/01
2.8K0
MySQL 有这一篇就够(呕心狂敲37k字,只为博君一点赞!!!)
Python 高级笔记第二部分:数据库的概述和MySQL数据表操作
SQL结构化查询语言(Structured Query Language),一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。
杨丝儿
2022/02/24
2K0
Python 高级笔记第二部分:数据库的概述和MySQL数据表操作
收藏 | Mysql数据库基础-常用入门命令-干货
SQL,指结构化查询语言,全称是 Structured Query Language,是一种 ANSI(American National Standards Institute 美国国家标准化组织)标准的计算机语言,可以让我们可以处理数据库。
TCS-F
2019/04/17
1.8K0
收藏 | Mysql数据库基础-常用入门命令-干货
MySQL 数据库基础知识(系统化一篇入门)[通俗易懂]
简单的说,数据库就是一个存放数据的仓库,这个仓库是按照一定的数据结构(数据结构是指数据的组织形式或数据之间的联系)来组织、存储的,我们可以通过数据库提供的多种方法来管理数据库里的数据。更简单的形象理解,数据库和我们生活中存放杂物的仓库性质一样,区别只是存放的东西不同。
全栈程序员站长
2022/09/13
5.5K0
一千行 MySQL 详细学习笔记
https://shockerli.net/post/1000-line-mysql-note/
帅地
2019/06/06
2.6K0
mysql基本操作命令汇总
作用:提高表中数据的查询速度 1.普通索引 2.唯一性索引 3.全文索引 4.单列索引 5.多列索引 6.空间索引
崔笑颜
2020/06/08
1.1K0
mysql基本操作命令汇总
学会Mysql第二天
完整的SQL查询指令: select select选项 字段列表 from 数据源 where条件 group by 分组 having 条件 order by 排序 limit 限制
白胡杨同学
2020/04/11
9100
MySQL(四)
基本语法: insert into {表名}({字段列表}) values({值列表1}), ({值列表2}), …
1ess
2021/11/01
1.1K0
python数据库-MySQL数据库高级查询操作(51)
  这里面学科包含了三个学科,所以学科拆分为:语文学科、数学学科、英语学科,同样的成绩也要拆分为语文成绩、数学成绩、英语成绩。这样既满足了第一范式,各列可以设计为:
Se7eN_HOU
2019/07/15
3.1K0
python数据库-MySQL数据库高级查询操作(51)
小白专属mysql入门
MYSQL-深入到精通mysql教程,请进入知识星球-spark技术学院获取 ---- 基本操作语句创建查看 1,创建数据库: 进入MySql数据库环境后,就可以使用CREATE DATABASE语句创建自己的数据库了。 CREATE DATABASE 数据库名;>create database study; 注1:数据库名可以由任意字母、数字、下面(_)和美元符号($)组成,但不能由单独的数字组成,也不能为MySQL关键字,而且长度还不能超过64个字符。在windows系统下,数据库名不区分大小写,在
Spark学习技巧
2018/06/22
1.2K0
「Workshop」第二十一期 SQL简介
点击链接观看B站讲解视频 https://www.bilibili.com/video/BV1XA411L766?share_medium=android&share_plat=android&sha
王诗翔呀
2022/01/21
3740
「Workshop」第二十一期 SQL简介
SQL基础(1)
DDL: 数据定义语言,用于定义不同的数据段、数据库、表、列、索引等数据库对象。常用的关键字包含create、alter、drop、truncate等
俊才
2019/11/18
6230
MySQL基础
2、DBMS:数据库管理系统,又称为数据库软件或数据库产品,用于创建或管理 DB 3、SQL:结构化查询语言,用于和数据库通信的语言,不是某个数据库软件特有的,而是几乎所有的主流数据库软件通用的语言
OY
2022/03/17
2.8K0
MySQL基础
Oracle11g全新讲解之SQL讲解
  SQL是结构化查询语言(Structured Query Language),专门用于数据存取、数据更新及数据库管理等操作。
用户4919348
2023/03/23
1.3K0
Oracle11g全新讲解之SQL讲解
一千行MySQL命令
非常不错的总结,强烈建议保存下来,需要的时候看一看。 基本操作 数据库操作 表的操作 数据操作 字符集编码 数据类型(列类型) 列属性(列约束) 建表规范 SELECT UNION 子查询 连接查询(join) TRUNCATE 备份与还原 视图 事务(transaction) 锁表 触发器 SQL编程 存储过程 用户和权限管理 表维护 杂项 基本操作 /* Windows服务 */ -- 启动MySQL net start mysql -- 创建Windows服务 sc create
Ai学习的老章
2019/09/17
2.1K0
MySQL数据库操作教程
更多详情见请继续阅读下一页的精彩内容: http://www.linuxidc.com/Linux/2017-02/141092p2.htm
星哥玩云
2022/08/13
5.2K0
MySQL数据库完整知识点梳理----保姆级教程!!!
在字段名前面加上DISTINCT ,这里对于重复的字段,就只会显示最先出现的那个,后面重复的不会显示
大忽悠爱学习
2021/11/15
6.3K0
Oracle数据库学习
在关系数据库中,一张表中的每一行数据被称为一条记录。一条记录就是由多个字段组成的。例如,students表的两行记录:
kif
2023/02/27
2K0
相关推荐
【MySQL】MySQL知识总结
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验