[LeetCode] 2Sum, 3Sum, 4Sum, 3SUm closet
来源:互联网 发布:数据库安全研究论文 编辑:程序博客网 时间:2024/06/10 01:25
1. 2Sum: hash Table O(n*n)
2. 3Sum: 2Sum + 1 : O(n*n)
for loop + 左右夹逼法:O(N*N)
class Solution {
public:
vector<vector<int> > threeSum(vector<int> &num) {
// Note: The Solution object is instantiated only once and is reused by each test case.
vector<vector<int>> result;
if(num.size()<3) return result;
vector<int> triplet(3,0);
sort(num.begin(),num.end());
for(int i=0; i<num.size();i++)
{
if(i>0 && num[i]==num[i-1])
continue;
int start=i+1;
int end=num.size()-1;
int sum=0;
while(start < num.size() && start < end)
{
sum=num[i]+num[start]+num[end];
if(sum==0)
{
triplet[0]=num[i];
triplet[1]=num[start];
triplet[2]=num[end];
result.push_back(triplet);
//return result;
//move the pointer start to the right and ignore duplicate
do{
start++;
}while(start < end && num[start]==num[start-1]);
do{
end--;
}while(start < end && num[end]==num[end+1]);
}
else if(sum>0)
end--;
else
start++;
}
}
return result;
}
};
3. 3 Sum closest: 3 Sum plus comparison
4. 4 sum: 2sum+2sum / 3sum+1sum O(n^3)
- [LeetCode] 2Sum, 3Sum, 4Sum, 3SUm closet
- leetcode:3sum closet
- Leetcode 3Sum Closet
- 3Sum closet | LeetCode
- 3sum、3Sum closet、 4sum
- leetcode 16 3Sum Closet
- leetcode-16 3Sum Closet
- LeetCode 16 3Sum Closet
- 15. 3Sum && 16 sum closet && 18 4sum
- 3Sum Closet
- 3 Sum Closet
- 3sum closet
- 3Sum Closet
- 3sum closet
- leetcode 2 sum 3sum 4sum
- Leetcode 2SUM-3SUM-4SUM
- Leetcode-2sum,3sum,4sum
- leetcode 2 sum & 3 sum & 4 sum
- 面试之图论[Graph],算法摘要总结
- Android引入第三方jar包报错java.lang.NoClassDefFoundError解决办法
- LeetCode题解:Restore IP Addresses
- 删数问题
- Centos安装Memcache
- [LeetCode] 2Sum, 3Sum, 4Sum, 3SUm closet
- CString和string的互相转换
- NOIP实用算法 4.贪心方法
- 关于一些挑战题目
- ThinkPad蓝牙鼠标出现延迟、断开连接等问题的解决办法
- BANG6C9A85DDF307BEB56667F031XIANGUO
- 手把手教你如何把java代码,打包成jar文件以及转换为exe可执行文件
- 要做好SEO你有95%的专业知识么
- 百度搜索引擎中文分词与文本粒度