File tree Expand file tree Collapse file tree 1 file changed +40
-0
lines changed Expand file tree Collapse file tree 1 file changed +40
-0
lines changed Original file line number Diff line number Diff line change
1
+ class Solution {
2
+ public:
3
+ vector<vector<int >> threeSum (vector<int >& nums) {
4
+ sort (nums.begin (),nums.end ());
5
+
6
+ vector<vector<int >> ans;
7
+
8
+ int sum;
9
+ int len = nums.size ();
10
+ int left,right;
11
+ for (int i = 0 ; i< len;i++){
12
+ left = i + 1 ;
13
+ right = len - 1 ;
14
+ while (left < right){
15
+ sum = nums[i] + nums[left] + nums[right];
16
+ if (sum == 0 ){
17
+ vector<int > vec;
18
+ vec.push_back (nums[i]);
19
+ vec.push_back (nums[left]);
20
+ vec.push_back (nums[right]);
21
+ ans.push_back (vec);
22
+
23
+ while (left < right && nums[left] == nums[left + 1 ])left++;
24
+ while (left < right && nums[right] == nums[right - 1 ])right--;
25
+
26
+ left++;
27
+ right--;
28
+
29
+ }
30
+ if (sum > 0 )right--;
31
+ if (sum < 0 )left++;
32
+ }
33
+
34
+ while (i<len-1 && nums[i] == nums[i+1 ])i++;
35
+ }
36
+
37
+ return ans;
38
+
39
+ }
40
+ };
You can’t perform that action at this time.
0 commit comments