avatar
3sum on LeetCode OJ# JobHunting - 待字闺中
Z*A
1
写了3sum的solution,但是没通过OJ large judge,Run Status: Time Limit
Exceeded,请分析一下原因。
下面是code:
public ArrayList> threeSum(int[] num) {
// Start typing your Java solution below
// DO NOT write main() function
if (num.length < 3)
return new ArrayList>();

Arrays.sort(num);
ArrayList> res = new ArrayList
>();
for (int i=0; i < num.length; i++)
{
int target = 0 - num[i];
int low = i+1;
int high = num.length - 1;

while (low < high)
{
int twosum = num[low] + num[high];

if (twosum < target)
low++;
else if (twosum > target)
high--;
else
{
ArrayList triplet = new ArrayList();
triplet.add(num[i]);
triplet.add(num[low]);
triplet.add(num[high]);

if (!res.contains(triplet))
res.add(triplet);

low++;
high--;
}
}
}

return res;
}
avatar
l*a
2
关于如下ArrayList用法 。。。。
ArrayList> res = new ArrayList
>();
请查阅相关文档

【在 Z***A 的大作中提到】
: 写了3sum的solution,但是没通过OJ large judge,Run Status: Time Limit
: Exceeded,请分析一下原因。
: 下面是code:
: public ArrayList> threeSum(int[] num) {
: // Start typing your Java solution below
: // DO NOT write main() function
: if (num.length < 3)
: return new ArrayList>();
:
: Arrays.sort(num);

avatar
Z*A
3
java用的不好见笑了,但是leetcode要求的返回类型就是ArrayListInteger>>
public class Solution {
public ArrayList> threeSum(int[] num) {
// Start typing your Java solution below
// DO NOT write main() function

}
}

【在 l*****a 的大作中提到】
: 关于如下ArrayList用法 。。。。
: ArrayList> res = new ArrayList
: >();
: 请查阅相关文档

avatar
Z*A
4
这个solution的复杂度是n平方,照理说sort属于preprocessing而且小于总体复杂度。
请教正确的算法。
avatar
g*e
5
res.contains 先把res改成hashset再说

Integer>

【在 Z***A 的大作中提到】
: 写了3sum的solution,但是没通过OJ large judge,Run Status: Time Limit
: Exceeded,请分析一下原因。
: 下面是code:
: public ArrayList> threeSum(int[] num) {
: // Start typing your Java solution below
: // DO NOT write main() function
: if (num.length < 3)
: return new ArrayList>();
:
: Arrays.sort(num);

avatar
Z*A
6
正解,谢谢gate大牛。

【在 g**e 的大作中提到】
: res.contains 先把res改成hashset再说
:
: Integer>

avatar
h*u
7
应该可以不用排序,省掉这些时间
对于每个number,求他的-number可以直接用2sum来做,2sum就是o(n)
相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。