auto commit

This commit is contained in:
CyC2018
2018-06-08 16:03:22 +08:00
parent 498268e40c
commit 34072ecf26
3 changed files with 39 additions and 84 deletions

View File

@ -115,21 +115,19 @@ public class ThreeSumFast {
```
```java
public class ThreeSumFast implements ThreeSum {
@Override
public int count(int[] nums) {
Arrays.sort(nums);
int N = nums.length;
int cnt = 0;
for (int i = 0; i < N; i++)
for (int j = i + 1; j < N; j++) {
int target = -nums[i] - nums[j];
int index = BinarySearch.search(nums, target);
// 应该注意这里的下标必须大于 j否则会重复统计。
if (index > j)
cnt++;
}
return cnt;
public class BinarySearch {
public static int search(int[] nums, int target) {
int l = 0, h = nums.length - 1;
while (l <= h) {
int m = l + (h - l) / 2;
if (target == nums[m])
return m;
else if (target > nums[m])
l = m + 1;
else
h = m - 1;
}
return -1;
}
}
```