leetcode16. 3Sum Closest
来源:互联网 发布:男人中式服装品牌知乎 编辑:程序博客网 时间:2024/06/16 01:45
16. 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).
解法
现将数组从小到大排序
i从左往右依次遍历,j = i + 1, k = nums.length - 1, 如果3个数之和大于target,k–;如果3个数之和小于target,j++,直到j>=k,停止,每次记录最小的距离和对应的和,最后返回对应的和。
public class Solution { public int threeSumClosest(int[] nums, int target) { if (nums == null || nums.length == 0) { return 0; } Arrays.sort(nums); int min = Integer.MAX_VALUE, minSum = Integer.MAX_VALUE, i = 0, j = 0, k = 0; while (i < nums.length) { j = i + 1; k = nums.length - 1; while (j < k) { int sum = nums[i] + nums[j] + nums[k]; if (sum > target) { k--; } else if (sum < target) { j++; } else { return sum; } int dis = Math.abs(target - sum); if (dis < min) { min = dis; minSum = sum; } } i++; } return minSum; }}
阅读全文
0 0
- [LeetCode16]3Sum Closest
- LeetCode16:3Sum Closest
- leetcode16 3Sum Closest
- LeetCode16:3Sum Closest
- LeetCode16. 3Sum Closest
- leetcode16:3Sum Closest
- Leetcode16. 3Sum Closest
- leetcode16~3Sum Closest
- LeetCode16. 3Sum Closest
- leetcode16. 3Sum Closest
- leetcode16. 3Sum Closest
- leetcode16. 3Sum Closest
- LeetCode16 3Sum Closest
- LeetCode16——3Sum Closest
- leetcode16 3Sum Closest(java实现)
- [LeetCode16]3Sum Closed
- 3 Sum & 3 Sum Closest
- 【Leetcode】3Sum Closest (Sum)
- 动态规划实例(六):最小花费路径
- pycharm2016.3激活方式
- win10远程控制ubuntu16.04
- 大数据学习五
- Intellij IDEA插件
- leetcode16. 3Sum Closest
- css flex demo
- ajax文件上传
- HTML DOM之标签操作方法
- Laravel事件Event
- 关于removeCallbacks不能移除消息的问题
- mac上使用Aria2,完全摆脱百度云盘的限速10kb/s
- 跨域问题的解决
- 5个必须掌握的maven命令