Leetcode3Sum Closest

Posted wuezs

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Leetcode3Sum Closest相关的知识,希望对你有一定的参考价值。

题目链接:https://leetcode.com/problems/3sum-closest/

题目:

Given an array S of n integers, find three integers in S such that the sum is closest to a given number, target. Return the sum of the three integers. You may assume that each input would have exactly one solution.

    For example, given array S = {-1 2 1 -4}, and target = 1.

    The sum that is closest to the target is 2. (-1 + 2 + 1 = 2).

思路:

参考http://blog.csdn.net/yeqiuzs/article/details/50272757 解题框架,本题要求跟target距离最近的3元素之和,所以要保存最小距离、最小距离时候的3元素的和。    这里要搞清楚一点,在判断一个已排序数组中是否存在两元素之和 target的时候,要注意可以从两边向中间逼近target,时空复杂度为O(N),而不是两层for循环两个指针指向两个元素判断是否为target,时空复杂度为O(N^2)。如果是无序数组快排后再向中间逼近是O(N logN),也比O(N^2)好。  本题解法的时间复杂度为O(N^2)。

算法:

[java]  view plain  copy

以上是关于Leetcode3Sum Closest的主要内容,如果未能解决你的问题,请参考以下文章

Leetcode3Sum

LeetCode3Sum Closest 解题报告

Leetcode 3Sum 问题需要优化的 Python 解决方案