leetcode 16. 3Sum Closest
来源:互联网 发布:仿斗鱼直播源码 编辑:程序博客网 时间:2024/04/27 22:54
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).
在一组数组中找出 一个三元组(a,b,c)的和,其和最接近target.
和leetcode 15.3Sum题没多大区别,一样的思路.
public class A16_3SumClosest {public int threeSumClosest(int[] nums, int target) {Arrays.sort(nums);int distance = Integer.MAX_VALUE; // 3元组的和与target的距离int ans = nums[0];for(int i = 0; i < nums.length - 2; i++) {int second = i + 1;int third = nums.length - 1;while(second < third) {int sum = nums[i] + nums[second] + nums[third];if(sum == target) {return target;}if (Math.abs(sum - target) < distance) {distance = Math.abs(sum - target);ans = sum;}if(sum > target) {do {third--;} while(second < third && nums[third + 1] == nums[third]);} else {do {second++;} while(second < third && nums[second - 1] == nums[second]);}}while(i < nums.length - 2 && nums[i] == nums[i + 1])i++;}return ans; }}
0 0
- LeetCode 16. 3Sum Closest
- LeetCode --- 16. 3Sum Closest
- [Leetcode] 16. 3Sum Closest
- 【leetcode】16. 3Sum Closest
- [leetcode] 16. 3Sum Closest
- leetcode 16. 3Sum Closest
- leetcode 16. 3Sum Closest
- leetcode 16. 3Sum Closest
- LeetCode - 16. 3Sum Closest
- [LeetCode]16. 3Sum Closest
- LeetCode 16. 3Sum Closest
- LeetCode *** 16. 3Sum Closest
- Leetcode 16. 3Sum Closest
- leetcode 16. 3Sum Closest
- 【LeetCode】16. 3Sum Closest
- leetcode 16. 3Sum Closest
- 【leetcode】16. 3Sum Closest
- leetcode 16. 3Sum Closest
- 山东省第七届ACM大学生程序设计竞赛 K —Reversed Words
- 图解Android View的scrollTo(),scrollBy(),getScrollX(), getScrollY()
- Hibernate总结
- 计算机中的原码、反码、补码(上)
- 动态规划之0-1背包问题
- leetcode 16. 3Sum Closest
- 2076 Problem F Quick Brown Fox
- 进制之间的转换
- uva116 unidirectional TSP
- Ajax过程 事件代理
- 外观模式
- 虚拟机安装CentOS系统的上网设置(有线网络和无线网络)
- Android 5.0 启动过程中磁盘加密流程
- VS2008 C# 开发ActiveX控件总结