您的位置:首页 > 其它

16 3Sum Closest

2015-08-30 10:53 169 查看
public class Solution {
public int threeSumClosest(int[] nums, int target) {
if(nums==null||nums.length < 3) return 0;
Arrays.sort(nums);
int ret = 0;
boolean flag = true;
for(int i=0;i<nums.length-2;++i){
int f = i + 1, r = nums.length -1;
while(f < r){
int sum = nums[i] + nums[f] + nums[r];
if(flag){
ret = sum;
flag = false;
}

if(Math.abs(sum - target) < Math.abs(ret - target)){
ret = sum;
}

if(ret==target){
return ret;
}

if(sum > target){
--r;
}else{
++f;
}
}
}
return ret;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: