6. 3Sum Closest
来源:互联网 发布:河南大学软件协会 编辑:程序博客网 时间:2024/06/04 00:02
题目
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差不多,代码框架直接讨论,本质上比3Sum还简单,因为不需要去重,不多说了,上代码
代码
class Solution {public: int threeSumClosest(vector<int>& nums, int target) { if(nums.size()<3) return 9999999999; int min = nums[0]+nums[1]+nums[2],res; sort(nums.begin(),nums.end()); for(int i=0;i<nums.size()-2;i++) { int l = i+1,r = nums.size()-1; while(l<r) { res = nums[i]+nums[l]+nums[r]; if(nums[i]+nums[l]+nums[r]==target) { return target; } else if(nums[i]+nums[l]+nums[r]<target) { min = abs(min-target)<abs(res-target)?min:res; l++; } else if(nums[i]+nums[l]+nums[r]>target) { min = abs(min-target)<abs(res-target)?min:res; r--; } } } return min; }};
阅读全文
0 0
- 6. 3Sum Closest
- 3 Sum & 3 Sum Closest
- 【Leetcode】3Sum Closest (Sum)
- LeetCode: 3 Sum Closest
- 3Sum Closest
- leetcode - 3 sum closest
- leetcode 3Sum Closest
- LeetCode: 3Sum Closest
- [Leetcode]3Sum Closest
- Leetcode: 3SUM Closest
- LeetCode 3Sum Closest
- [Leetcode] 3Sum Closest
- leetcode002:3sum closest
- LeetCode : 3Sum Closest
- LeetCode 3Sum Closest
- 3Sum Closest
- 3Sum Closest
- 3Sum Closest
- 简单的php生成csv格式和excel格式
- WOJ1424-整数拆分
- va_start、va_arg、va_end、va_list的使用
- chapter15图像滤波
- bzoj3781: 小B的询问
- 6. 3Sum Closest
- 国产 Android 权限申请最佳适配方案——permissions4m
- 对于“Newtonsoft.Json”已拥有为“NETStander.Library”定义的依赖项,解决办法
- Android优化
- opencv中Img[:,:,1]是什么意思
- Web前端项目发布到iis服务器
- Ubuntu——mysql5.7修改utf-8
- cuda编程---第一个cuda程序
- HDU 6201 transaction transaction transaction (2017沈阳网络赛