TGViewer
Javascript Javascript @javascriptv · 16.9K subscribers
Post #887 2.76K
💡Задача "Ближайшая сумма трех"

Условие задачи: дан целочисленный массив и целевое значение суммы. Необходимо найти три числа из массива, которые либо в результате суммирования равны значению целевой суммы либо же максимально близки к ней по модулю.

Каждый массив имеет единственное решение.

Пример:

Ввод:
nums = [-1,2,1,-4], target = 1
Вывод:
2
Объяснение:
(-1 + 2 + 1 = 2)

Ввод:
nums = [0,0,0], target = 1
Вывод:
0


Решение:
1. Сортировка входного массива
2. Используйте два указателя влево и вправо для вычисления локальной суммы, сравните цель с локальной суммой

/**
* @param {number[]} nums
* @param {number} target
* @return {number}
*/
var threeSumClosest = function(nums, target) {
nums.sort((a,b)=>a-b);
let closest = Infinity;
for (let i=0;i<nums.length-2;i++) {
let left = i+1; right = nums.length-1;
while (left < right) {
let localSum = nums[i] + nums[left] + nums[right];
if (Math.abs(localSum - target) < Math.abs(closest - target)) closest = localSum;
if (localSum > target) right--;
else left++;
}
}
return closest;
};


Пишите свое решение в комментариях👇

@javascriptv
  • 👍 9
  • ❤ 3
  • 🔥 1
More from @javascriptv
  1. Oct 6, 2026Arc Time Slider Это кастомный слайдер, разработанный с использованием веб-технологий HTML,…
  2. Oct 6, 2026🤺 Почему ты получаешь отказ после «норм собеса»? Дело не в знаниях — ты просто не знаешь,…
  3. Oct 5, 2026Ознакомьтесь с этими 5 советами по адаптивному веб-дизайну 👨‍💻
  4. Oct 3, 2026Импорт локальных изображений vs использование изображений из папки / public в Next.js
  5. Oct 2, 2026Совет по веб-доступности 💡 Лучший способ сделать ваши ссылки, состоящие только из иконок,…
  6. Sep 30, 2026🌐 Человек, который создал первый веб-браузер, сервер и заложил основу современного интерн…
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 →