[Leetcode] 16. 3Sum Closest
2015-03-12 22:05
363 查看
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.
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).
public class Solution { public int threeSumClosest(int[] num, int target) { int result = 0; Arrays.sort(num); int diff = Integer.MAX_VALUE; for(int i = 0; i < num.length - 2; i++){ if(i == 0 || num[i] != num[i - 1]){ int start = i + 1; int end = num.length - 1; while(start < end){ int value = num[start] + num[end] + num[i]; if(value == target){ return target; } else if(value < target){ if(target - value < diff){ diff = target - value; result = value; } start++; } else { if(value - target < diff){ diff = value - target; result = value; } end--; } } } } return result; } }
相关文章推荐
- [LeetCode 16] 3Sum Closest
- leetcode 16 3Sum Closest
- leetcode 16: 3Sum Closest
- leetcode-16-3Sum Closest
- leetcode -16 3Sum Closest
- 【leetcode-16】3Sum Closest(java)
- LeetCode 16 3Sum Closest
- [Leetcode 16, Medium] 3Sum Closest
- leetcode: 16. 3Sum Closest
- [Leetcode] 16 - 3Sum Closest
- LeetCode题解-16-3Sum Closest
- Java [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