func threeSumClosest(nums []int, target int) int {
sort.Ints(nums)
len := len(nums)
ans := nums[0] + nums[1] + nums[2]
for i := 0 ; i < len - 2 ; i++ {
j := i + 1
k := len - 1
for j < k {
sum := nums[i] + nums[j] + nums[k]
if (sum - target)*(sum - target) < (ans - target)*(ans - target){
ans = sum
}
if sum > target {
k--
}else if sum < target {
j++
}else{
return ans
}
}
}
return ans
}
力扣算法5-最接近的三数之和
最新推荐文章于 2020-04-22 15:57:05 发布