衡阳网站建设公司哪家好,最新新闻热点国家大事,网架公司安全员需要什么证书,plc编程培训机构文章目录 写在前面Tag题目来源解题思路方法一#xff1a;加一 其他语言python3 写在最后 写在前面 本专栏专注于分析与讲解【面试经典150】算法#xff0c;两到三天更新一篇文章#xff0c;欢迎催更…… 专栏内容以分析题目为主#xff0c;并附带一些对于本题涉及到的数据结… 文章目录 写在前面Tag题目来源解题思路方法一加一 其他语言python3 写在最后 写在前面 本专栏专注于分析与讲解【面试经典150】算法两到三天更新一篇文章欢迎催更…… 专栏内容以分析题目为主并附带一些对于本题涉及到的数据结构等内容进行回顾与总结文章结构大致如下部分内容会有增删 Tag介绍本题牵涉到的知识点、数据结构题目来源贴上题目的链接方便大家查找题目并完成练习题目解读复述题目确保自己真的理解题目意思并强调一些题目重点信息解题思路介绍一些解题思路每种解题思路包括思路讲解、实现代码以及复杂度分析知识回忆针对今天介绍的题目中的重点内容、数据结构进行回顾总结。 Tag
【数学】 题目来源
66. 加一 解题思路
方法一加一
我们从数组的末尾开始加一更新对应位值的元素 digits[i] (digits[i] 1) % 10如果某一位更新后digits[i] 不为 0说明以后也不会有进位了直接返回 digits。如果遍历完数组 digits 都没有 retrun那么说明我们一开始加的 1 造成了数组 digits 中的所有位都进位了于是返回数组 res该数组长度为 n1n 为数组 digits 的长度res[0] 1。
实现代码
class Solution {
public:vectorint plusOne(vectorint digits) {int n digits.size();for (int i n-1; i 0; --i) {digits[i] (digits[i] 1) % 10;if (digits[i] ! 0) {return digits;}}vectorint res(n1);res[0] 1;return res;}
};复杂度分析
时间复杂度 O ( n ) O(n) O(n) n n n 为数组 digits 的长度。
空间复杂度 O ( 1 ) O(1) O(1)。 其他语言
python3
class Solution:def plusOne(self, digits: List[int]) - List[int]:n len(digits)for i in range(n-1, -1, -1):digits[i] (digits[i] 1) % 10if digits[i] ! 0:return digitsres [0] * (n 1)res[0] 1return res写在最后
如果文章内容有任何错误或者您对文章有任何疑问欢迎私信博主或者在评论区指出 。
如果大家有更优的时间、空间复杂度方法欢迎评论区交流。
最后感谢您的阅读如果感到有所收获的话可以给博主点一个 哦。