Guest User

Untitled

a guest
Apr 22nd, 2018
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.81 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. class Solution {
  4. struct vc_hash{
  5. int operator () (const vector<int>& x) const {
  6. int res = 0;
  7. for(int y : x) res ^= y;
  8. return res;
  9. }
  10. };
  11. public:
  12. vector<vector<int>> threeSum(vector<int>& nums) {
  13. unordered_set<vector<int>, vc_hash> st;
  14. unordered_set<int> vis;
  15. for(int i = 0 ; i < (int)nums.size() ; i++){
  16. for(int j = i + 1 ; j < (int)nums.size() ; j++){
  17. if(vis.find(-nums[i] - nums[j]) != vis.end())
  18. st.insert({nums[i], nums[j], -nums[i] - nums[j]});
  19. }
  20. vis.insert(nums[i]);
  21. }
  22. return vector<vector<int>>(st.begin(), st.end());
  23. }
  24. };
  25.  
  26. int main(){
  27. return 0;
  28. }
Add Comment
Please, Sign In to add comment