Leetcode 16 3Sum Closest
2016-10-29 18:07
375 查看
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.
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).
public class Solution { public int threeSumClosest(int[] nums, int target) { long sum = 0; if (nums.length <= 3){ for (int i = 0; i < nums.length; i++){ sum += nums[i]; } return (int)sum; } else{ Arrays.sort(nums); sum = Integer.MAX_VALUE; int i = 0; while(i < nums.length - 2) { int j = i + 1; int k = nums.length - 1; while(j < k) { int result = nums[i] + nums[j] + nums[k]; if (Math.abs(result-target) < Math.abs(sum-target)) sum = result; if(result < target) j++; else if(result > target) k--; else return target; } while(i < nums.length - 2 && nums[i] == nums[++i]); } return (int)sum; } } }
相关文章推荐
- [Leetcode] 16. 3Sum Closest 解题报告
- leetcode --16. 3Sum Closest
- LeetCode - 16. 3Sum Closest
- LeetCode-16-3Sum Closest(证明/KSum)-Medium
- LeetCode 16 3Sum Closest
- leetcode--16. 3Sum Closest
- leetcode-16 3Sum closest
- leetcode16:3Sum Closest
- LeetCode - 16. 3Sum Closest
- [LeetCode] 16. 3Sum Closest ☆☆☆
- LeetCode-16:3Sum Closest
- LeetCode-16-3Sum Closest(C语言实现)
- leetcode 16: 3Sum Closest
- LeetCode_16---3Sum Closest
- LeetCodet题解--16. 3Sum Closest(离给定值最近的三数之和)
- LeetCode | 16. 3Sum Closest 循环技巧题
- Leetcode: 16. 3Sum Closest
- [leetcode 16] 3Sum Closest
- LeetCode--16. 3Sum Closest
- LeetCode(16)3Sum Closest