TGViewer
Java | LeetCode Java | LeetCode @easy_java_task · 6.44K subscribers
Post #1817 587
Задача: №16. 3Sum Closest
Сложность: medium

Учитывая целочисленный массив nums длины n и целочисленную target, найдите три целых числа в nums, сумма которых наиболее близка к target.
Возвращается сумма этих трех чисел.
Гарантируется, что существует ровно одно решение.

Пример:
Input: licensePlate = "1s3 PSt", words = ["step","steps","stripe","stepple"] Output: "steps"


👨‍💻 Алгоритм:

1⃣Отсортировать массив nums.

2⃣Для каждого элемента использовать два указателя: один в начале оставшегося массива, другой — в конце.

3⃣Обновлять текущую минимальную разницу и ближайшую сумму при необходимости, сдвигая указатели в зависимости от того, насколько текущая сумма отклоняется от target.

😎 Решение:
class Solution {
public int threeSumClosest(int[] nums, int target) {
int n = nums.length;
int closest = 0;
int max = Integer.MAX_VALUE;
Arrays.sort(nums);

for(int i = 0; i < n - 2; i++) {
int j = i + 1;
int k = n - 1;

while(j < k) {
int sum = nums[i] + nums[j] + nums[k];

if(sum == target)
return sum;
else if(sum < target)
j++;
else
k--;

int diff = Math.abs(sum - target);
if(diff < max) {
max = diff;
closest = sum;
}
}
}
return closest;
}
}


Ставь 👍 и забирай 📚 Базу знаний
More from @easy_java_task
  1. Oct 14, 2026Задача: 1332. Remove Palindromic Subsequences Сложность: easy Вам дана строка s, состоящая…
  2. Oct 13, 2026Post #2296
  3. Oct 13, 2026Задача: 1120. Maximum Average Subtree Сложность: medium Дан корень бинарного дерева. Верни…
  4. Oct 13, 2026Post #2294
  5. Oct 12, 2026Задача: 1413. Minimum Value to Get Positive Step by Step Sum Сложность: easy Дан массив це…
  6. Oct 11, 2026Задача: 672. Bulb Switcher II Сложность: medium Есть комната с n лампочками, пронумерованн…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →