File tree Expand file tree Collapse file tree 2 files changed +26
-0
lines changed Expand file tree Collapse file tree 2 files changed +26
-0
lines changed Original file line number Diff line number Diff line change 26
26
| 15 | [ 3Sum] ( https://leetcode.com/problems/3sum ) | [ ![ Java] ( assets/java.png )] ( src/ThreeSum.java ) | |
27
27
| 16 | [ 3Sum Closest] ( https://leetcode.com/problems/3sum-closest ) | [ ![ Java] ( assets/java.png )] ( src/ThreeSumClosest.java ) | |
28
28
| 17 | [ Letter Combinations of a Phone Number] ( https://leetcode.com/problems/letter-combinations-of-a-phone-number ) | [ ![ Java] ( assets/java.png )] ( src/LetterCombinationsOfAPhoneNumber.java ) | |
29
+ | 18 | [ 4Sum] ( https://leetcode.com/problems/4sum ) | [ ![ Java] ( assets/java.png )] ( src/FourSum.java ) | |
29
30
| 20 | [ ValidParentheses] ( https://leetcode.com/problems/valid-parentheses/ ) | [ ![ Java] ( assets/java.png )] ( src/ValidParentheses.java ) [ ![ Python] ( assets/python.png )] ( python/valid_parentheses.py ) | |
30
31
| 21 | [ Merge 2 Sorted Lists] ( https://leetcode.com/problems/merge-two-sorted-lists/ ) | [ ![ Java] ( assets/java.png )] ( src/Merge2SortedLists.java ) [ ![ Python] ( assets/python.png )] ( python/merge_2_sorted_lists.py ) | |
31
32
| 26 | [ Remove Duplicates From Sorted Array] ( https://leetcode.com/problems/remove-duplicates-from-sorted-array/ ) | [ ![ Java] ( assets/java.png )] ( src/RemoveDuplicatesFromSortedArray.java ) [ ![ Python] ( assets/python.png )] ( python/remove_duplicates_from_sorted_array.py ) | |
Original file line number Diff line number Diff line change
1
+ import java .util .ArrayList ;
2
+ import java .util .Arrays ;
3
+ import java .util .HashSet ;
4
+ import java .util .List ;
5
+ import java .util .Set ;
6
+
7
+ public class FourSum {
8
+ public List <List <Integer >> fourSum (int [] nums , int target ) {
9
+ Arrays .sort (nums );
10
+ final Set <List <Integer >> quadruplets = new HashSet <>();
11
+
12
+ for (int a = 0 ; a < nums .length - 3 ; a ++) {
13
+ for (int b = a + 1 ; b < nums .length - 2 ; b ++) {
14
+ for (int c = b + 1 , d = nums .length - 1 ; c < d ; ) {
15
+ int sum = nums [a ] + nums [b ] + nums [c ] + nums [d ];
16
+ if (sum == target ) quadruplets .add (List .of (nums [a ], nums [b ], nums [c ++], nums [d --]));
17
+ else if (sum < target ) c ++;
18
+ else d --;
19
+ }
20
+ }
21
+ }
22
+
23
+ return new ArrayList <>(quadruplets );
24
+ }
25
+ }
You can’t perform that action at this time.
0 commit comments