16. 3Sum Closest 又是一道先排序再双指针问题
来源:互联网 发布:什么云计算 编辑:程序博客网 时间:2024/05/16 19: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).
code
class Solution {public: int threeSumClosest(vector<int>& nums, int target) { sort(nums.begin(), nums.end()); int n = nums.size(); int positive = INT_MAX, negative = INT_MAX; for(int i = 0; i < n; i++){ int L = i + 1, R = n - 1; int twoTarget = target - nums[i]; while(L < R){ if(nums[L] + nums[R] > twoTarget){ positive = min(positive, nums[L] + nums[R] - twoTarget); R--; }else{ negative = min(negative, twoTarget - nums[L] - nums[R]); L++; } } } if(positive > negative) return target - negative; else return target + positive; }};
0 0
- 16. 3Sum Closest 又是一道先排序再双指针问题
- 3Sum Closest-双指针
- 【一天一道LeetCode】#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
- 深搜
- 线程池
- 程序员面试金典: 9.7位操作 7.4只用加号实现整数的乘法、减法和除法运算
- Codeforces753A Santa Claus and Candies
- Zookeeper命令行操作(常用命令;客户端连接;查看znode路径;创建节点;获取znode数据,查看节点内容,设置节点内容,删除节点;监听znode事件;telnet连接zookeeper)
- 16. 3Sum Closest 又是一道先排序再双指针问题
- [15]CSS3 渐变效果
- 四则运算 栈实现 Java版
- Name error name admin is not defined
- 80老翁谈人生(312):送给小孙孙的生日礼物
- HashSet与LinkedHashSet的区别
- 【翻译】 Unity3D VR 教程:4.VR中的用户界面
- Hibernate框架(二)缓存、事务、多表关系详解
- 基于Flexlive.CQP.Framework的C# 酷Q UDP实现