Skip to content

Commit 88f7ddf

Browse files
committed
Update 1679. K 和数对的最大数目.js
1 parent ea2cdd3 commit 88f7ddf

File tree

1 file changed

+10
-28
lines changed

1 file changed

+10
-28
lines changed

1679. K 和数对的最大数目.js

+10-28
Original file line numberDiff line numberDiff line change
@@ -5,38 +5,20 @@
55
*/
66
var maxOperations = function (nums, k) {
77
nums.sort((a, b) => a - b);
8-
function binarySearch(i, j, v) {
9-
while (i <= j) {
10-
const mid = Math.ceil((i + j) / 2);
11-
if (nums[mid] === v) {
12-
return mid;
13-
} else if (nums[mid] < v) {
14-
i = mid + 1;
15-
} else {
16-
j = mid - 1;
17-
}
18-
}
19-
return -1;
20-
}
218

229
let result = 0;
2310
let i = 0;
24-
while (nums.length > 1 && i < nums.length - 1) {
25-
if (nums[i] >= k) {
26-
break;
11+
let j = nums.length - 1;
12+
while (i < j) {
13+
if (nums[i] + nums[j] === k) {
14+
i++;
15+
j--;
16+
result++;
17+
} else if (nums[i] + nums[j] < k) {
18+
i++;
19+
} else {
20+
j--;
2721
}
28-
29-
if (k - nums[i] >= nums[i]) {
30-
const target = binarySearch(i + 1, nums.length - 1, k - nums[i]);
31-
if (target !== -1) {
32-
nums.splice(target, 1);
33-
nums.splice(i, 1);
34-
result++;
35-
continue;
36-
}
37-
}
38-
i++;
3922
}
40-
4123
return result;
4224
};

0 commit comments

Comments
 (0)