Skip to content

Commit d0d6adb

Browse files
MEDIUM/src/medium/_3Sum.java
1 parent 10be23a commit d0d6adb

File tree

1 file changed

+31
-0
lines changed

1 file changed

+31
-0
lines changed

MEDIUM/src/medium/_3Sum.java

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
package medium;
2+
3+
import java.util.ArrayList;
4+
import java.util.Arrays;
5+
import java.util.List;
6+
7+
public class _3Sum {
8+
9+
public List<List<Integer>> threeSum(int[] nums) {
10+
Arrays.sort(nums);
11+
List<List<Integer>> result = new ArrayList();
12+
int left = 0, right = nums.length-1, mid = 0;
13+
while(left+1 < right){
14+
mid = left + (right-left)/2;
15+
int sum = nums[left] + nums[mid] + nums[right];
16+
if(sum == 0){
17+
List<Integer> list = new ArrayList();
18+
list.add(nums[left]);
19+
list.add(nums[mid]);
20+
list.add(nums[right]);
21+
22+
//move left
23+
} else if(sum > 0){
24+
right = mid;
25+
} else {
26+
left = mid;
27+
}
28+
}
29+
}
30+
31+
}

0 commit comments

Comments
 (0)