163Sum Closest
来源:互联网 发布:印度英语知乎 编辑:程序博客网 时间:2024/05/21 07:54
题目链接: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).
解题思路:
这题的做法与 3Sum 很类似。依然是转化为 2Sum 的子问题。
不同之处在于,这道题需要维护一个全局最优解,每次循环获得的局部最优解都要和全局最优解进行比较,将最接近的值用于更新全局最优解。
由于这次只要求返回最接近的和,而非三个元素组成的序列,所以将 3Sum 解答的两个函数合并为一。
3Sum 详细解答
public class Solution { public int threeSumClosest(int[] nums, int target) { if(nums == null || nums.length < 2) return Integer.MIN_VALUE; Arrays.sort(nums); int closest = nums[0] + nums[1] + nums[2]; for(int i = nums.length - 1; i >= 2; i --) { int start = 0; int end = i - 1; while(start < end) { int sum = nums[start] + nums[end] + nums[i]; if(Math.abs(sum - target) < Math.abs(closest - target)) closest = sum; if(sum < target) start ++; else if(sum > target) end --; else return closest; } } return closest; }}
120 / 120 test cases passed.Status: AcceptedRuntime: 324 ms
0 0
- leetcode-163Sum Closest
- 163Sum Closest
- 163Sum Closest
- 3 Sum & 3 Sum Closest
- 【Leetcode】3Sum Closest (Sum)
- 15.3Sum &16.3Sum Closest
- LeetCode: 3 Sum Closest
- 3Sum Closest
- leetcode - 3 sum closest
- leetcode 3Sum Closest
- LeetCode: 3Sum Closest
- [Leetcode]3Sum Closest
- Leetcode: 3SUM Closest
- LeetCode 3Sum Closest
- [Leetcode] 3Sum Closest
- leetcode002:3sum closest
- LeetCode : 3Sum Closest
- LeetCode 3Sum Closest
- APP设计师必知:用户体验十大原则!
- Maven资源替换和Freemarker模板
- 什么样的人适合3D打印培训课程——宁波清车3D打印培训
- 8.3.1 How MySQL Uses Indexes MySQL 如何使用索引
- maven项目在eclipse中debug时看不到源码?
- 163Sum Closest
- Java.lang.RuntimeException: Unable to start activity ComponentInfo Caused by: java.lang.NullPointer
- memcpy小结
- caffe siamese 网络 对比损失函数
- 说说3D打印培训课程在我国的开展的现状——3D打印培训宁波清车
- 【jQuery Mobile学习】jQuery Mobile简介
- Opencv用鼠标画圆
- 解决HTML5 Placeholder兼容性的方案
- java.util.ResourceBundle 和java.util.properties 读取配置文件区别