No.66 Plus One

No.66 Plus One

Given a non-negative number represented as an array of digits, plus one to the number.

The digits are stored such that the most significant digit is at the head of the list.

题意:给定一个数组表示的非负数,实现该数加1的功能

注意:从后向前加,注意边界和进位即可。

细节!

 1 #include "stdafx.h"
 2 #include <map>
 3 #include <vector>
 4 #include <iostream>
 5 using namespace std;
 6
 7 class Solution
 8 {
 9 public:
10     vector<int> plusOne(vector<int> &digits)
11     {//给定一个数组表示的非负数,实现该数加1
12         int carry = 0;//保存进位
13         int size = digits.size();
14         vector<int> res;
15         if(size == 0)
16         {
17             res.push_back(1);
18             return res;
19         }
20         res = digits;
21         for(int i=size-1; i>=0 ; i--)//从后向前加
22         {
23             if(i == size-1)
24             {
25                 res[i] = (digits[i]+1)%10;
26                 carry = (digits[i]+1)/10;
27             }
28             if(carry == 0)
29                 break;
30             else
31             {
32                 res[i] = (digits[i]+carry)%10;
33                 carry = (digits[i]+carry)/10;
34             }
35         }
36         if(carry!=0)
37             res.insert(res.begin(),carry);
38
39         return res;
40     }
41 };
42
43 int main()
44 {
45     Solution sol;
46     int data[] = {9,9,8,4,2};
47     vector<int> test(data,data+sizeof(data)/sizeof(int));
48     vector<int> res;
49     for(const auto &i : test)
50         cout << i << " ";
51     cout << endl;
52     res = sol.plusOne(test);
53     for(const auto &i : res)
54         cout << i << " ";
55     cout << endl;
56 }
时间: 2025-01-14 10:10:38

No.66 Plus One的相关文章

安装部署VMware vSphere 5.5文档 (6-6) 集群和vMotion

部署VMware vSphere 5.5 实施文档 ############################################################################### ## ver1.0 2014-09-09 ## ## 本文内容来自中国专利信息中心-基础系统处-张阳 ## ## 如有转载,请务必保留本文链接及版权信息. ## ## QQ:962903 ## ## E-mail:[email protected]## #################

【66测试20161115】【树】【DP_LIS】【SPFA】【同余最短路】【递推】【矩阵快速幂】

还有3天,今天考试又崩了.状态还没有调整过来... 第一题:小L的二叉树 勤奋又善于思考的小L接触了信息学竞赛,开始的学习十分顺利.但是,小L对数据结构的掌握实在十分渣渣.所以,小L当时卡在了二叉树. 在计算机科学中,二叉树是每个结点最多有两个子结点的有序树.通常子结点被称作“左孩子”和“右孩子”.二叉树被用作二叉搜索树和二叉堆.随后他又和他人讨论起了二叉搜索树.什么是二叉搜索树呢?二叉搜索树首先是一棵二叉树.设key[p]表示结点p上的数值.对于其中的每个结点p,若其存在左孩子lch,则key

编写高质量代码改善C#程序的157个建议——建议66:正确捕获多线程中的异常

建议66:正确捕获多线程中的异常 多线程的异常处理需要采用特殊的方式.一下这种方式会存在问题: try { Thread t = new Thread((ThreadStart)delegate { throw new Exception("多线程异常"); }); t.Start(); } catch (Exception error) { MessageBox.Show(error.Message + Environment.NewLine + error.StackTrace);

uoj 66 新年的巧克力棒 数学

#66. 新年的巧克力棒 Time Limit: 20 Sec  Memory Limit: 256 MB 题目连接 http://uoj.ac/problem/66 Description 马上就要到羊年了,羊村一片欢腾,懒羊羊则懒洋洋地躺在草坪上吃新年的巧克力棒. 他手上的巧克力棒是个由 n 个巧克力单元格组成的长度为 n 的长条,现在懒羊羊想把巧克力棒掰开成一个个小单元格. 初始时懒羊羊会把这根巧克力棒丢在草坪上,然后每次懒羊羊会从草坪上拿起一根长度大于 1 的巧克力棒,然后从某两个相邻的

8条佛曰 66句禅语

八条佛曰1.佛曰:忘记并不等于从未存在,一切自在来源于选择,而不是刻意.不如放手,放下的越多,越觉得拥有的更多.2.佛曰:命由己造,相由心生,世间万物皆是化相,心不动,万物皆不动,心不变,万物皆不变.3.佛曰:坐亦禅,行亦禅,一花一世界,一叶一如来,春来花自青,秋至叶飘零,无穷般若心自在,语默动静体自然.4.佛曰:笑着面对,不去埋怨.悠然,随心,随性,随缘.注定让一生改变的,只在百年后,那一朵花开的时间.5.佛曰:刹那便是永恒(若人生了悟如佛,无悲无喜无梦无幻,无爱无恨四大皆空,生与死又有何区别

运营喵必知的66条新媒体墨菲定律

美国工程师墨菲提出过一种心理学效应,叫"墨菲定律": 任何事都没有表面看起来那么简单: 所有的事都会比你预计的时间长: 会出错的事总会出错: 如果你担心某种情况发生,那么它就更有可能发生. 总结之,如果事情有变坏的可能,不管这种可能性有多小,它总会发生. 我来延伸一下,墨菲定律新媒体运营版66条,欢迎对号入座. 1.充分设计构想的创意,都不会被用上. 2.你剽窃的idea,总会被人发现. 3.别试图改文案的稿子,这样不但不会有结果,还会惹文案不高兴. 4.若想受文案欢迎,就积极帮他的坏

leetCode 66. Plus One 数组

66. Plus One Given a non-negative number represented as an array of digits, plus one to the number. The digits are stored such that the most significant digit is at the head of the list. 题目大意:将一个数字的各位都放在一个数组中,给这个数字加1,求得到的新数组. 高位在前. class Solution { p

BestCoder Round #66 (div.2)B GTW likes gt

思路:一个O(n)O(n)的做法.我们发现b_1,b_2,...,b_xb?1??,b?2??,...,b?x??都加11就相当于b_{x+1},b_{x+2},...,b_nb?x+1??,b?x+2??,...,b?n??都减11.然后我们可以倒着做,记一下最大值,如果遇到了修改操作,就把最大值减11,然后判断一下这个人会不会被消灭掉,然后再更新一下最大值. 1 #define cn(i,p,q) for(int i=p;i<=q;i++) 2 #define cn1(i,p,q) for(

失业66天:一个入行两年的程序员真实写照

作为年轻人,我们苦心经营的无非两样——爱情和事业,拥有一份甜蜜的爱情能够为发展事业提供动力;而具有良好的事业更能为爱情提供保障,又或是成为追求爱情的资本. 我们渴望着自己心仪的事业,或收入丰硕,或工作轻松,或增长见识,或结交人际.但是在很多时候,我们起初选择的工作并不是自己希望的,它们可能是走错的岔路,也可能是通往最终目标的阶梯.而在结束一份工作到选择一份新的工作的阶段这个必经过程就是失业. <ignore_js_op> 有些人的失业不过是预料之中的短暂过程:“下家我都找好了,这面完事简单准备