Leetcode -- 3 sum closest.
来源:互联网 发布:51单片机电子音响 编辑:程序博客网 时间:2024/05/18 00:29
问题链接:https://oj.leetcode.com/problems/3sum-closest/
问题描述: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).
API : public int threeSumClosest(int[] num, int target)
分析:这题和3 sum基本是同一题,唯一不同之处在于上一题是维护一组答案,这一次是维护一个答案,所以也不详细解读了,看代码吧:
public int threeSumClosest(int[] num, int target) { Arrays.sort(num); int res = Integer.MAX_VALUE; for(int i = 0; i < num.length; i++){ if(i > 0 && num[i] == num[i - 1]) continue; int head = i + 1; int tail = num.length - 1; while(head < tail){ if(head != i + 1 && num[head] == num[head - 1]){ head++; continue; } if(tail != num.length - 1 && num[tail] == num[tail + 1]){ tail--; continue; } res = Math.abs(res) > Math.abs(num[i] + num[head] + num[tail] - target) ? (num[i] + num[head] + num[tail] - target) : res; if(num[i] + num[head] + num[tail] > target){ tail--; }else if(num[i] + num[head] + num[tail] < target){ head++; }else{ return target; } } } return res + target; }
0 0
- LeetCode: 3 Sum Closest
- leetcode - 3 sum closest
- leetcode 3Sum Closest
- LeetCode: 3Sum Closest
- [Leetcode]3Sum Closest
- Leetcode: 3SUM Closest
- LeetCode 3Sum Closest
- [Leetcode] 3Sum Closest
- LeetCode : 3Sum Closest
- LeetCode 3Sum Closest
- [LeetCode] 3Sum Closest
- 【leetcode】3Sum Closest
- [LeetCode]3Sum Closest
- LeetCode-3Sum Closest
- LeetCode:3Sum Closest
- LeetCode | 3Sum Closest
- 【leetcode】3Sum Closest
- Leetcode: 3Sum Closest
- NetConnection通信结构(基于对极客学院的代码的改进,直接使用对象进行通信)
- linux shell 编程示例
- 各品牌机械键盘分析
- 基于 Bochs 的操作系统内核实现
- 2015年开始了
- Leetcode -- 3 sum closest.
- C++资源总汇
- Python版本过高引发模块无法加载系列问题
- spring的profile定义多个数据源
- ceph存储 安装部署Ceph Calamari经典示例
- java.io.FileNotFoundException: /opt/apache-tomcat-7.0.57/conf/server.xml (权限不够)
- Cocos2dx CrazyTetris 双线伪裁剪算面积 对于判断消除的思考(二)
- JavaScript快速入门(一)——JavaScript概览
- (每日一练)c++程序设计--谭浩强