avatar
x*0
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;
}
};
avatar
y*o
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的答案。
: 下面是我的代码:

avatar
x*0
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?

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。