-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathTargetSumTriplet.java
More file actions
30 lines (25 loc) · 865 Bytes
/
Copy pathTargetSumTriplet.java
File metadata and controls
30 lines (25 loc) · 865 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import java.util.Arrays;
public class TargetSumTriplet {
public static void main(String[] args) {
targetSumTriplet(new int[] { 18, 5, 4, 20, 7, 22, 19, 25 }, 25);
}
public static void targetSumTriplet(int[] nums, int tar) {
Arrays.sort(nums); // nlogn
// meet in the middle
for (int i = 0; i < nums.length - 2; i++) {
int left = i + 1;
int right = nums.length - 1;
while (left < right) {
if (nums[left] + nums[right] > tar) {
right--;
} else if (nums[left] + nums[right] < tar) {
left++;
} else {
System.out.println(nums[i] + " " + nums[left] + " " + nums[right]);
left++;
right--;
}
}
}
}
}