Leetcode16.最接近的三数之和

问题描述:

难度:中等

给你一个长度为 n 的整数数组 nums 和 一个目标值 target。请你从 nums 中选出三个整数,使它们的和与 target 最接近。

返回这三个数的和。

假定每组输入只存在恰好一个解。

 

 

题解:

代码:

 

 

这道题就是一道典型的双指针问题。首先要做的就是将数组进行排序,在排序之后才方便做接下来的操作。

首先就是遍历,遍历的范围从数组开端一直到数组大小-2的位置。这是由于要预留左右两个指针的位置。左右指针依次指向空余位置的开头与结尾处,开头与结尾处所指向的数的和要与目前最近的和相比较,最小的将会被保留。然后再进行左右指针的操作,如果三数之和比目标数大了,则说明数组中较大的一侧需要作出相应的调整,故right--,反之则是left++。

 

posted @ 2022-03-04 22:16  USTC_Freeman  阅读(57)  评论(0)    收藏  举报