Update 0018.四数之和.md 更新 Java 代码块

This commit is contained in:
ma
2024-08-07 10:46:56 +08:00
parent 0d6080ba5c
commit 0cdfc3fef8

View File

@ -251,8 +251,8 @@ class Solution {
for (int i = 0; i < nums.length; i++) {
// nums[i] > target 直接返回, 剪枝操作
if (nums[i] > 0 && nums[i] > target) {
// nums[i] >= 0 && nums[i] > target 直接返回, 剪枝操作
if (nums[i] >= 0 && nums[i] > target) {
return result;
}
@ -262,9 +262,9 @@ class Solution {
for (int j = i + 1; j < nums.length; j++) {
// nums[i]+nums[j] > target 直接返回, 剪枝操作
if (nums[i]+nums[j] > 0 && nums[i]+nums[j] > target) {
return result;
// nums[i] >= 0 && nums[i] + nums[j] > target 剪枝操作
if (nums[i] >= 0 && nums[i] + nums[j] > target) {
break;
}
if (j > i + 1 && nums[j - 1] == nums[j]) { // 对nums[j]去重
@ -274,7 +274,7 @@ class Solution {
int left = j + 1;
int right = nums.length - 1;
while (right > left) {
// nums[k] + nums[i] + nums[left] + nums[right] > target int会溢出
// nums[j] + nums[i] + nums[left] + nums[right] int 可能会溢出,需要转为 long
long sum = (long) nums[i] + nums[j] + nums[left] + nums[right];
if (sum > target) {
right--;