LeetCode-15 3sum
来源:互联网 发布:如何查询淘宝会员等级 编辑:程序博客网 时间:2024/05/29 09:07
题目:给定一个数组,在数组中寻找所有相加等于0的三个数,三个数输出顺序为升序。
思路:首先将数组排序,然后依次固定每个值a[i],在a[i+1]到a[n-1]寻找两个数之和等于-a[i]。注意当下一迭代a[i+1]=a[i]时,则跳过a[i+1]。
class Solution { private: vector<vector<int> > result; int flag=1;public: vector<vector<int> > threeSum(vector<int> &num){ result.clear(); int length1=num.size(); sort(num.begin(),num.end()); for(int i=0;i<length1;i++){ if(i>0&&num[i]==num[i-1]){ continue; } int j,k; j=i+1; k=length1-1; while(j<k){ if(j>i+1&&num[j]==num[j-1]){ j++; continue; } if(k<length1-1&&num[k]==num[k+1]){ k--; continue; } int sum=num[i]+num[j]+num[k]; if(sum>0){ k--; } else if(sum<0){ j++; } else{ vector<int> a; a.push_back(num[i]); a.push_back(num[j]); a.push_back(num[k]); result.push_back(a); j++; } } } return result; }};
0 0
- Leetcode 15 3Sum
- LeetCode 15: 3Sum
- leetcode 15 3Sum
- [leetcode 15] 3Sum
- Leetcode【15】:3Sum
- [leetcode 15] 3Sum
- [Leetcode] 15 - 3Sum
- leetcode.15-----------3Sum
- leetcode 15 3Sum
- leetcode-15 3Sum
- 3Sum - LeetCode 15
- Leetcode #15 3 Sum
- LeetCode---(15) 3 sum
- LeetCode 15 - 3Sum
- leetcode-15 3sum
- leetcode 15 -- 3Sum
- Leetcode[15]-3Sum
- LeetCode 15: 3 Sum
- 1027. Colors in Mars (20)
- HDU4336 Card Collector【容斥原理】
- UVA 699 The Falling Leaves (二叉树水题)
- swift - 函数指针的应用 - 避免重复算法
- 新装Win10没声音的处理方案
- LeetCode-15 3sum
- Layout Inflation
- #BestCoder Round #50 (div.2)
- map函数的用处以及几个基本的函数
- 从 Qt 的 delete 说开来
- 人在深圳的100怕!——谨以此文献给所有的深圳打拼者
- ExtJS ComboBox 按拼字首字母过滤
- hdu 1711 Number Sequence
- 将Eclipse代码导入到AndroidStudio的两种方式