leetcode 4Sum
2015-02-04 11:33
295 查看
这道题和前面一道3Sum是一样的就是多一层循环
题目:https://oj.leetcode.com/problems/4sum/
注意改3Sum的代码时,要注意size,还有双重循环的时候记得注意(l != i+1)这个地方
题目:https://oj.leetcode.com/problems/4sum/
注意改3Sum的代码时,要注意size,还有双重循环的时候记得注意(l != i+1)这个地方
class Solution { public: vector<vector<int> > fourSum(vector<int> &num, int target) { sort(num.begin(),num.end()); vector<vector<int> > result; if(num.size()<4) return result; for(int i = 0;i < num.size()-1;i++){ if(i!=0 && num[i] ==num[i-1]) continue; for(int l = i+1;l < num.size()-1;l++){ if(l!=i+1 && num[l] ==num[l-1]) continue; int j = l + 1, k = num.size()-1; int sum; while(j < k){ sum = num[i] + num[j] + num[k] + num[l]; if(sum== target) { vector<int> one; one.push_back(num[i]); one.push_back(num[l]); one.push_back(num[j]); one.push_back(num[k]); result.push_back(one); while(++j<k&&num[j]==num[j-1]){} while(j<--k&&num[k]==num[k+1]){} } else if(sum <target) j++; else k--; } } } return result; } };
相关文章推荐
- LeetCode:4Sum
- [leetcode 18]4Sum
- LeetCode18:4Sum
- leetcode: 18. 4Sum
- Leetcode - 4Sum
- LeetCode 18 - 4Sum
- LeetCode 018 4Sum
- leetcode18. 4Sum
- leetcode: 4Sum
- LeetCode:3Sum, 3Sum Closest, 4Sum
- [leetcode] 4Sum
- LeetCode18. 4Sum
- LeetCode 18 4Sum
- LeetCode(18)4Sum
- Leetcode:4Sum与3Sum
- [LeetCode]题解(python):018-4Sum
- [*leetcode 18] 4Sum
- LeetCode - 4Sum
- Sum—LeetCode-18 4Sum
- 4Sum_Leetcode_#18