leetcode刷题系列C++-3sum
来源:互联网 发布:塔夫斯大学 知乎 编辑:程序博客网 时间:2024/04/28 15:42
Given an array S of n integers, are there elements a, b, c in S such that a + b + c = 0? Find all unique triplets in the array which gives the sum of zero.
Note:
- Elements in a triplet (a,b,c) must be in non-descending order. (ie, a ≤ b ≤ c)
- The solution set must not contain duplicate triplets.
For example, given array S = {-1 0 1 2 -1 -4}, A solution set is: (-1, 0, 1) (-1, -1, 2)
Subscribe to see which companies asked this question
class Solution {public: vector<vector<int>> threeSum(vector<int>& nums) { vector<vector<int> > result; if(nums.size() < 3) return result; sort(nums.begin(),nums.end()); const int target = 0; for(auto a = nums.begin(); a < prev(nums.end(),2); ++a) { auto b = next(a); if(a != nums.begin() && *a == *(prev(a))) continue; auto c = prev(nums.end()); while(b < c) { if(*a + *b + *c < target) { ++b; } else if(*a + *b + *c > target) { --c; } else { result.push_back({*a,*b,*c}); ++b; --c; } } } //sort(result.begin(),result.end()); result.erase(unique(result.begin(),result.end()),result.end()); return result; }};
0 0
- leetcode刷题系列C++-3sum
- leetcode刷题系列C++-4sum
- leetcode刷题系列C++-3Sum Closest
- [leetcode刷题系列]3Sum
- [leetcode刷题系列]3Sum Closest
- 【leetcode系列】3Sum
- [leetcode刷题系列]Two Sum
- [leetcode刷题系列]Path Sum
- [leetcode刷题系列]Path Sum II
- [leetcode刷题系列]Minimum Path Sum
- [leetcode刷题系列]Combination Sum
- [leetcode刷题系列]Combination Sum II
- [leetcode刷题系列]4Sum
- [leetcode刷题系列]Binary Tree Maximum Path Sum
- [leetcode刷题系列]Sum Root to Leaf Numbers
- LeetCode刷题心得系列(一)_TWO SUM
- [C++]LeetCode: 70 3Sum
- C实现 LeetCode->3Sum
- AFNetwork 2.0在请求时报错code=-1016 和 3840
- 获取站点
- Android Studio SDK 更新方法
- 菜鸟学习Hibernate——简单的一个例子
- android 蓝牙
- leetcode刷题系列C++-3sum
- Android 源码获取-----在Windows环境下通过Git得到Android SDK源代码
- 【提高】面试--三
- Activity初窥门径
- SAP中MM模块采购数据报表(入库,订单)
- [Scala函数特性系列]——按名称传递参数
- 回顾第一次搭建hibernate本机环境
- poj power strings
- 最近开发电脑变得异常慢的原因和解决