【LeetCode_数组_双指针】16. 最接近的三数之和
admin
2024-05-01 14:22:58

目录

  • 第一次:2022年12月27日10:20:52
    • 解题思路
    • 注意点
    • 代码展示

题目描述

16. 最接近的三数之和

第一次:2022年12月27日10:20:52

解题思路

双指针

详情可查看这个图解:画解算法:16. 最接近的三数之和

注意点

  • 返回值的初始值
    可以直接排序后,选取前三个。从题目中可以看出,数组最少都会有三个数。
  • 最接近的值怎么取舍
    使用数学中的取绝对值
  • 双指针的左移右移
    因为是首先对数组进行排序了,
    所以当前的和 比 期望值大了,肯定是缩小,所以移动的就是右指针,当前的和 比 期望值小了,扩大,移动左指针。

代码展示

class Solution {public int threeSumClosest(int[] nums, int target) {int length = nums.length;// 返回值的初始值int ans = nums[0] + nums[1] + nums[2];Arrays.sort(nums);for (int i = 0; i < length; i++) {int fast = length - 1;int slow = i + 1;while (slow < fast){int sum = nums[i] + nums[slow] + nums[fast];// 最接近的值怎么取舍if(Math.abs(target - sum) < Math.abs(target - ans)){ans = sum;}// 双指针的移动if (sum > target) {fast--;}else if (sum == target){return ans;}else {slow++;}}}return ans;}public static void main(String[] args) {Solution solution = new Solution();int threeSumClosest = solution.threeSumClosest(new int[]{4,0,5,-5,3,3,0,-4,-5}, -2);System.out.println(threeSumClosest);}
}

相关内容

热门资讯

把音乐厅搬进喀斯特溶洞是什么体...   近日,一场融合多元艺术形式的洞穴音乐会在贵州省修文县举行,五百余名观众在喀斯特溶洞之中,感受了一...
教师专享福利!北京这些景区免票... 新京报讯 据首都教育消息,教师节将至,北京多家景区为老师们准备了专属免票福利!这份优惠合集已整理好,...
黑茶,喝的是一种境界与健康 在专门用来喝黑茶的茶具“飘逸杯”里,黑茶茶汤看起来并不像“黑茶”这个名字那样黑黢黢的一团。 玻璃器皿...
上海旅游节大巡游花车阵容抢先看... 2026上海旅游节大巡游9月12日外滩启幕,21辆全新主题花车携手21支境内外表演方队联袂登场,邀你...
原创 8... 上周门诊来了位 62 岁的张阿姨,得糖尿病快五年了,平时管嘴特别严,糖果、点心、甜饮料一概不碰,连水...