leetcode16专题

【LeetCode16】 最接近的三数之和

最接近的三数之和 给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的三个整数,使得它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在唯一答案。 例如,给定数组 nums = [-1,2,1,-4], 和 target = 1. 与 target 最接近的三个数的和为 2. (-1 + 2 + 1 = 2). 来源:力扣(LeetC

LeetCode16:3Sum Closest

思路:先将数组排序,固定第一个数k,然后设定两个指针i和j,i从k+1开始,j从nums.length-1开始,每次求nums[i]+nums[j]+nums[k]到target的距离,即绝对值。用一个变量保存距离,一个变量保存三个数的和,每次与之前的距离比较,如果比之前的距离小,则更新三个数的和,同时更新距离,如果nums[i]+nums[j]+nums[k]大于target,则将j左移,如