由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - leetcode plus one 书上答案是不是错了?
相关主题
问个Amazon面试题关于leetcode的combinationSum题
求大数加1题目的细节leetcode 4sum N^3解法有时Time Limit Exceeded有时又能通过
a problem from leetcode: high efficiency algorithm for combinations problem请教LeetCode的3Sum
一道面试题LeetCode 的 4 sum 问题 如何用hash table做呢?
求看代码 Plus One请问一个java的问题(leetcode subsets一题)
郁闷死了,顺便贴个Amazon电面面经question about Leetcode #113 LeetCode – Path Sum II (Java)
leetcode上遇到的问题问一道leetcode上的题目 combination sum
3sum on LeetCode OJAmazon面试问题
相关话题的讨论汇总
话题: cur话题: digit话题: arr话题: int话题: plusone
进入JobHunting版参与讨论
1 (共1页)
T******7
发帖数: 1419
1
public void plusOne(List digits) {
for (int i = digits.size() - 1; i >= 0; i--) {
int digit = digits.get(i);
if (digit < 9) {
digits.set(i, digit + 1);
return;
} else {
digits.set(i, 0);
}
}
digits.add(0);
digits.set(0, 1);
}
最后这句 加到尾部 不对啊,奇怪
D*******r
发帖数: 2323
2
没有错,如果原数是99999...,那么加1后就会比原数多一位,如果digits是arraylist
的话,新加进来的digit加在头部比加在尾部要expensive很多。所以选择在尾部加0,然
后把第一位digit给reset成1。

★ 发自iPhone App: ChineseWeb 8.2.2
★ 发自iPhone App: ChineseWeb 8.2.2

【在 T******7 的大作中提到】
: public void plusOne(List digits) {
: for (int i = digits.size() - 1; i >= 0; i--) {
: int digit = digits.get(i);
: if (digit < 9) {
: digits.set(i, digit + 1);
: return;
: } else {
: digits.set(i, 0);
: }
: }

m*****k
发帖数: 731
3
public static int[] plusOne(int[] arr){
//nonsense check ...
int cur = arr.length - 1;
while(cur>=0 && arr[cur]==9){
arr[cur]=0;
cur--;
}
if(cur==-1){
int[] re = Arrays.copyOf(arr, arr.length + 1);
re[0]=1;
return re;
}
else{
arr[cur] = arr[cur]+1;
return arr;
}
}
1 (共1页)
进入JobHunting版参与讨论
相关主题
Amazon面试问题求看代码 Plus One
讨论下lc最新的那道hard题吧郁闷死了,顺便贴个Amazon电面面经
google 电面leetcode上遇到的问题
做题3sum on LeetCode OJ
问个Amazon面试题关于leetcode的combinationSum题
求大数加1题目的细节leetcode 4sum N^3解法有时Time Limit Exceeded有时又能通过
a problem from leetcode: high efficiency algorithm for combinations problem请教LeetCode的3Sum
一道面试题LeetCode 的 4 sum 问题 如何用hash table做呢?
相关话题的讨论汇总
话题: cur话题: digit话题: arr话题: int话题: plusone