Code & Fun

打卡,第6天

今天不知道为什么网速特别慢,LeetCode几乎没法用,所以就改成在LintCode上刷了。

给定一个非负数,表示一个数字数组,在该数的基础上+1,返回一个新的数组。

该数字按照大小进行排列,最大的数在列表的最前面。

因为今晚出去浪了,就找了一道Easy的题目。

实现代码:

1
2
3
4
5
6
7
8
9
10
vector<int> plusOne(vector<int> &digits) {
// write your code here
int a = 1;
for(auto it = digits.rbegin();it != digits.rend();++it) {
if ((*it += a) < 10) return digits;
*it = 0;
}
digits.insert(digits.begin(),1);
return digits;
}

思路很简单,而且因为只是加一,所以for循环里面的东西可以写的简单一点。


今天终于把算法实验课的演示搞定了,明天或后天把东西整理一下,把排序算法的分析放出来。


本文首发于Code & Fun