[LeetCode]3sum
2013-11-03 19:46
190 查看
#include<iostream> #include<vector> #include<algorithm> using namespace std; class solution{ public: vector<vector<int> > threesum(vector<int>& num){ vector<vector<int> > result; if(num.size()<3) return result; sort(num.begin(),num.end()); const int target=0; auto last=num.end(); for(auto a=num.begin();a<prev(last,2); a=upper_bound(a,prev(last,2),*a)){ for(auto b=next(a);b<prev(last); b=upper_bound(b,prev(last),*b)){ const int c=target-*a-*b; if(binary_search(next(b),last,c)) { vector<int> coll; coll.push_back(*a); coll.push_back(*b); coll.push_back(c); result.push_back(coll); } } } return result; } }; void print(vector< vector<int> > & result) { for(int i = 0; i < result.size(); i++) { for(int j = 0; j < result[i].size(); j++) { cout<<result[i][j]<<" "; } cout<<endl; } } int main() { vector<int> a; a.push_back(-1); a.push_back(0); a.push_back(1); a.push_back(2); a.push_back(-1); a.push_back(4); solution s; s.threesum(a); print(s.threesum(a)); }
相关文章推荐
- leetcode--3sum
- [leetcode]16. 3Sum Closest
- LeetCode 016 3Sum Closest
- leetcode16 3Sum Closest
- leetcode_3sum closet
- LeetCode 16. 3Sum Closest
- Leetcode--3Sum
- [LeetCode] 15. 3Sum
- LeetCode 3Sum
- leetcode15. 3Sum
- LeetCode 遍历技巧 | 15. 3Sum
- [LeetCode] 3Sum
- leetcode 15 3sum
- leetcode (16) - 3Sum Closest
- LeetCode[16]: 3Sum Closest
- leetcode-java.T015_3Sum---给定一个n个元素的数组,是否存在a,b,c三个元素,使用得a+b+c=0,找出所有符合这个条件的三元组
- LeetCode 15. 3Sum
- Leetcode - 3Sum
- Leetcode[15]-3Sum
- 《leetCode》:3Sum