16. 3Sum Closest
来源:互联网 发布:数据控制 编辑:程序博客网 时间:2024/06/17 00:09
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).本题与3Sum很类似,解出3Sum后再解此题,会觉得很简单。
程序如下:
class Solution { public int threeSumClosest(int[] nums, int target) { Arrays.sort(nums); int retVal = 0, deltVal = Integer.MAX_VALUE; for (int i = 2; i < nums.length; ++ i){ int twoSumTarget = target - nums[i]; int l = 0, r = i - 1, curDelt; while (l < r){ curDelt = Math.abs(nums[l] + nums[r] - twoSumTarget); if (deltVal > curDelt){ deltVal = curDelt; retVal = nums[i] + nums[l] + nums[r]; } if (nums[l] + nums[r] < twoSumTarget){ l ++; } else if (nums[l] + nums[r] > twoSumTarget){ r --; } else { return target; } } } return retVal; }}
阅读全文
1 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
- c#中手动及半自动编译wsdl并调用
- Qt多版本共存的QTDIR设置有关问题
- 【OpenGL】使用DDA算法画线
- POJ 2774 Long Long Message(后缀数组)
- mybatis(6) 一对多映射
- 16. 3Sum Closest
- MongoDb的“not master and slaveok=false”错误及解决方法
- CodeForces
- 习题五第三小题
- 2116 数据结构实验之链表一:顺序建立链表
- CodeForces
- 前端学习(十七)HTML的空格
- MongDB副本集(一),SpringBoot链接Mongo副本集
- SQL之累计和及累计差详解