美文网首页
16. 3Sum Closest

16. 3Sum Closest

作者: 离歌笑_0925 | 来源:发表于2019-11-11 22:45 被阅读0次

题目:

给定一个nums由n个整数和一个整数组成的数组target,找出三个整数nums,使总和最接近 target。返回三个整数的和。您可以假设每个输入都只有一个解决方案。

例:

``` 给定数组nums = [-1,2,1,-4],target = 1。最接近目标的总和为2。(-1 + 2 + 1 = 2)```

思路:排序,固定第一个数,在剩余的数组里双指针扫描,加起来和减target的绝对值比初始值小则替换.

```

public class Solution {

    public int threeSumClosest(int[] num, int target) {

        int result = num[0] + num[1] + num[num.length - 1];

        Arrays.sort(num);

        for (int i = 0; i < num.length - 2; i++) {

            int start = i + 1, end = num.length - 1;

            while (start < end) {

                int sum = num[i] + num[start] + num[end];

                if(sum==target) return sum;//先判断 可以减少不必要的流程

                else if (sum > target) {

                    end--;

                } else {

                    start++;

                }

                if (Math.abs(sum - target) < Math.abs(result - target)) {

                    result = sum;

                }

            }

        }

        return result;

    }

}

```

相关文章

  • LeetCode #16 2018-07-28

    16. 3Sum Closest Given an array nums of n integers and an...

  • Day3

    16. 3Sum Closest Given an array S of n integers, find thr...

  • LeetCode 16. 3Sum Closest

    16. 3Sum Closest Given an array S of n integers, find thr...

  • 16. 3Sum Closest

    题目: Given an array S of n integers, find three integers i...

  • 16. 3Sum Closest

    题目: 给定一个nums由n个整数和一个整数组成的数组target,找出三个整数nums,使总和最接近target...

  • 16. 3Sum Closest

    Given an array nums of n integers and an integer target, ...

  • 16. 3Sum Closest

    Description Given an array S of n integers, find three in...

  • 16. 3Sum Closest

    Given an array nums of n integers and an integer target, ...

  • 16. 3Sum Closest

    Description Given an array S of n integers, find three in...

  • 16. 3Sum Closest

    先排序,然后左右夹逼,每次当sum-target < diff 用diff记录下最小距离

网友评论

      本文标题:16. 3Sum Closest

      本文链接:https://www.haomeiwen.com/subject/ojacyftx.html