您的位置:首页 > 其它

leetcode 3Sum Closest

2016-03-10 20:39 337 查看
题目链接

public class Solution {
public int threeSumClosest(int[] nums, int target) {
Arrays.sort(nums);
int lastDistance=Integer.MAX_VALUE;
int last=lastDistance;
int result=0;
out:for(int i=0;i<nums.length;i++)
{
if(last==nums[i])
{
continue;
}
last=nums[i];

int j=i+1,k=nums.length-1;
while(j<k)
{
int temp=(target-nums[i]-nums[j]-nums[k]);
if(Math.abs(temp)<lastDistance)
{
lastDistance=Math.abs(temp);
result=target-temp;
}
if(temp>0)
{
j++;
}
else if(temp<0)
{
k--;
}
else
{
break out;
}

}
}
return result;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: