x*****0 发帖数: 452 | 1 遇到一个奇怪的问题。对于同样的数据集,在自己的IDE上测试,没有任何问题,
leetcode的onlinejudge却报错。
例如:
leetcode online judge
input output expected
[0,0] [[0,0,0]] []
[1,2,-2,-1] [[-2,2,0],[-1,1,0]] []
[-1,0,1,2,-1,-4] [[-1,1,0]] [[-1,-1,2],[-1,0,1]]
在自己的IDE上,能够给出expected的答案。
下面是我的代码:
class Solution {
public:
vector > threeSum(vector &num) {
// Start typing your C/C++ solution below
// DO NOT write int main() function
set > triples;
sort(num.begin(), num.end());
for (int i = 0; i < num.size(); ++i) {
int j = i + 1;
int k = num.size();
int target = -num[i];
int duble = 0;
while (j < k) {
duble = num[j] + num[k];
if (duble > target) {
--k;
}
else if (duble < target) {
++j;
}
else {
vector cur;
cur.push_back(num[i]);
cur.push_back(num[j]);
cur.push_back(num[k]);
triples.insert(cur);
--k;
++j;
}
}
}
vector > result;
for (set >::iterator it = triples.begin(); it != triples
.end(); ++it) {
result.push_back(*it);
}
return result;
}
}; | y*******o 发帖数: 6632 | 2 int k = num.size(); ---
int target = -num[i];
int duble = 0;
while (j < k) {
duble = num[j] + num[k]; ---
num is out of array bound, right?
【在 x*****0 的大作中提到】 : 遇到一个奇怪的问题。对于同样的数据集,在自己的IDE上测试,没有任何问题, : leetcode的onlinejudge却报错。 : 例如: : leetcode online judge : input output expected : [0,0] [[0,0,0]] [] : [1,2,-2,-1] [[-2,2,0],[-1,1,0]] [] : [-1,0,1,2,-1,-4] [[-1,1,0]] [[-1,-1,2],[-1,0,1]] : 在自己的IDE上,能够给出expected的答案。 : 下面是我的代码:
| x*****0 发帖数: 452 | 3 thanks~~~
【在 y*******o 的大作中提到】 : int k = num.size(); --- : int target = -num[i]; : int duble = 0; : while (j < k) { : duble = num[j] + num[k]; --- : num is out of array bound, right?
|
|