16. 3Sum Closest
来源:互联网 发布:2016中国网络影视峰会 编辑:程序博客网 时间:2024/06/13 03:55
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.
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).
func threeSumClosest(nums []int, target int) int { if len(nums) < 3 { return -1 } sort.Ints(nums) result := nums[0] + nums[1] + nums[2] for i := 0; i < len(nums)-2; i++ { j := i + 1 k := len(nums) - 1 sum := 0 for j < k { sum = nums[i] + nums[j] + nums[k] if sum == target { return sum } if sum > target { k-- } else { j++ } result = getCloser(sum, result, target) } } return result}func getCloser(num1, num2, target int) int { if math.Abs(float64(num1-target)) > math.Abs(float64(num2-target)) { return num2 } else { return num1 }}
0 0
- 16. 3Sum Closest
- 16. 3Sum Closest
- 16. 3Sum Closest
- 16. 3Sum Closest
- 16. 3Sum Closest
- 16. 3Sum Closest
- 16. 3Sum Closest
- 16. 3Sum Closest
- 16. 3Sum Closest
- 16. 3Sum Closest
- 16. 3Sum Closest
- 16. 3Sum Closest
- 16. 3Sum Closest
- 16. 3Sum Closest
- 16. 3Sum Closest
- 16. 3Sum Closest
- 16. 3Sum Closest
- 16. 3Sum Closest
- 第2章对象及变量的并发访问
- SQL笔记---删除重复数据,保留第一个
- spacemacs mysql连接管理
- caffe安装的最后几步,caffe测试经历
- javascript--tab
- 16. 3Sum Closest
- swift——运算符——复合类型
- matlab 万能实用的非线性曲线拟合方法
- 闲谈学习
- Linux 命令分类大全
- Java23种设计模式
- swift——运算符——其他
- ORA-00845: MEMORY_TARGET not supported on this system
- jQuery技能点总结