由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - Leetcode 4SUM 总是超时
相关主题
leetcode combinationsum2 超时leetcode pow runtime error??
Leetcode Two Sum,我这个O(n)解法为啥不讨服务器的好呢Leetcode上面的股票买卖问题2
我这个 4sum的解法是 o^3还是o^2? , xiexie关于Hash_map
leetcode 4sum N^3解法有时Time Limit Exceeded有时又能通过LeetCode怎么用啊?
请问下leetcode的two sum题目请问大牛们leetcode上那道gray code的题
LeetCode 的 4 sum 问题 如何用hash table做呢?leetcode 4sum
请教一道题报个G的offer
问几个关于hash, map, set的问题leetcode的four sum oj是不是有问题?
相关话题的讨论汇总
话题: num话题: int话题: vector话题: 超时话题: rst
进入JobHunting版参与讨论
1 (共1页)
g********c
发帖数: 23
1
我在网上找了个答案
http://yucoding.blogspot.in/2012/12/leetcode-question-3-4-sum.h
他先是把所有元素两两相加,存进multimap做了个hash,
然后在这个multimap里依次两两相加看是否等于target。
我感觉他的解法很费时间啊,超过O(n^4)了吧?(因为首先构建好multimap的size是O(
n^2),然后再两层for循环)
我之前用3sum那种方法写的,左右移动指针,O(n^3),不超时,但是最近提交都显示超
时。
哪里有不超时C++的答案呢?
c*******0
发帖数: 162
2
这个代码O(n^3), 但不超时。
vector > fourSum(vector &num, int target) {
vector > rst;
if(num.size() <= 3) return rst;
std::sort(num.begin(), num.end());

int len = num.size();
for(int i = 0; i < num.size() - 3; i++){
if(i > 0 && num[i] == num[i-1]) continue;
for(int j = i + 1; j < num.size() - 2; j++){
if(j > i + 1 && num[j] == num[j-1])continue;
int l = j + 1, r = len - 1;
while(l < r){
int sum = num[i] + num[j] + num[l] + num[r] ;
if(sum == target){
vector item = {num[i], num[j], num[l], num[r]};
rst.push_back(item);
r--;
while(l < r && num[r] == num[r+1]) r--;
l++;
while(l < r && num[l] == num[l-1]) l++;
}else if(sum > target)
r--;
else
l++;
}
}
}
return rst;
}
g********c
发帖数: 23
3
有没有O(n^2 * lg n)的代码呢?网上都说自己的复杂度低,可是一看都很高

【在 c*******0 的大作中提到】
: 这个代码O(n^3), 但不超时。
: vector > fourSum(vector &num, int target) {
: vector > rst;
: if(num.size() <= 3) return rst;
: std::sort(num.begin(), num.end());
:
: int len = num.size();
: for(int i = 0; i < num.size() - 3; i++){
: if(i > 0 && num[i] == num[i-1]) continue;
: for(int j = i + 1; j < num.size() - 2; j++){

x********u
发帖数: 1061
4
我感觉不可能有最差O(n^2 * lg n)算法,最多是期望能达到这个

【在 g********c 的大作中提到】
: 有没有O(n^2 * lg n)的代码呢?网上都说自己的复杂度低,可是一看都很高
1 (共1页)
进入JobHunting版参与讨论
相关主题
leetcode的four sum oj是不是有问题?请问下leetcode的two sum题目
leetcode 2 sum 以前的代码怎么现在过不了了?LeetCode 的 4 sum 问题 如何用hash table做呢?
二维数组问题请教一道题
leetcode 3sum c++解法超时问几个关于hash, map, set的问题
leetcode combinationsum2 超时leetcode pow runtime error??
Leetcode Two Sum,我这个O(n)解法为啥不讨服务器的好呢Leetcode上面的股票买卖问题2
我这个 4sum的解法是 o^3还是o^2? , xiexie关于Hash_map
leetcode 4sum N^3解法有时Time Limit Exceeded有时又能通过LeetCode怎么用啊?
相关话题的讨论汇总
话题: num话题: int话题: vector话题: 超时话题: rst