题目链接
英文链接:https://leetcode.com/problems/3sum-closest/
中文链接:https://leetcode-cn.com/problems/3sum-closest/
题目详述
给定一个包括 n 个整数的数组 nums
和 一个目标值 target
。找出 nums
中的三个整数,使得它们的和与 target
最接近。返回这三个数的和。假定每组输入只存在唯一答案。
1 | 例如,给定数组 nums = [-1,2,1,-4], 和 target = 1. |
题目详解
本题可以用三重循环的暴力方法解决这个问题,不过复杂度比较高。类似于 LeetCode15-三数之和 这道题,可以运用数双指针的思想,不断地进行扫描更新,将时间复杂度降为 O(n^2)。
- 首先把数组从小到大进行排序。
- 遍历过程中固定一个元素。
- 再运用双指针的思想,一个从左往右扫描,一个从右往左扫描,扫描过程中不断更新。
1 | public class LeetCode_00016 { |