LeetCode 3Sum Closest
来源:互联网 发布:斯维尔是什么软件 编辑:程序博客网 时间:2024/06/06 02:48
题目
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).
和前一题很类似,只是和变成了target,依然可以做到n^2;
依旧按同样的思想操作。只是在和为target时直接返回;不为target时比较是否比当前最接近target的和更接近,是则暂存。
代码:
const int MAX=0x7fffffff;class Solution {public: int threeSumClosest(vector<int> &num, int target) {int ans=MAX;long long sum;//三数和int dsum=MAX;//最接近的sum和target的差的绝对值int dt;//本次探测sum和target的差int size=num.size();sort(num.begin(),num.end());int i=0,j=1,k=size-1;while(j<k)//外循环{while(j<k)//Two Sum问题{sum=num[i]+num[j]+num[k];dt=abs(sum-target);if(sum==target)return target;else if(sum<target){if(dt<dsum){ans=sum;dsum=dt;}j++;}else{if(dt<dsum){ans=sum;dsum=dt;}k--;}}i++;j=i+1;k=size-1;}return ans; }};
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
- Alpha版本
- TCP/IP协议全部IP协议号
- MFC中CHtmlView和JS的相互调用
- subsys_initcall
- winform拦截关闭按钮触发的事件
- LeetCode 3Sum Closest
- 完整的asp.net 导出table到Excel中
- 白屏调试分析
- jquery实现表格内容的上下移动
- PHP基础加强(第十三天)
- 在无clipboard 的vim 中, 如何使用系统剪切板
- Windows界面编程第六篇 动画启动效果(动画效果显示及隐藏窗口)
- jeasyui datagrid 常用操作
- 关于Dialog 俩次点击报错 :The specified child already has a parent. You must call removeView() on the child's