3Sum
来源:互联网 发布:电脑如何发淘宝链接 编辑:程序博客网 时间:2024/06/06 14:26
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: 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]]
class Solution {public: vector<vector<int>> threeSum(vector<int>& nums) { vector<vector<int>> res; if(nums.size() < 3) return res; std::sort(nums.begin(), nums.end()); for(int i=0; i<nums.size()-2; ++i){ if(i > 0 && nums[i] == nums[i-1]) //去重第一个元素 continue; int l = i + 1, r = nums.size() - 1; while(l < r) { int s = nums[i] + nums[l] + nums[r]; if(s < 0) ++l; else if(s > 0) --r; else { vector<int> tmp; tmp.push_back(nums[i]); tmp.push_back(nums[l]); tmp.push_back(nums[r]); res.push_back(tmp); while(l < r && nums[l] == nums[l+1]) //去重中间元素,不需要去重右边,因为中间元素会走到右边自动去重 ++l; ++l; --r; } } } return res; }};
0 0
- Two Sum && 3 Sum
- 【Leetcode】3Sum (Sum)
- 3Sum 3Sum Closest 4Sum
- 3Sum & 3Sum Closest & 4Sum
- 3sum、3Sum closet、 4sum
- 3Sum, 3Sum Closest, 4 Sum
- leetcode 2 sum 3sum 4sum
- 2Sum 3Sum 4Sum
- Leetcode 2SUM-3SUM-4SUM
- Leetcode-2sum,3sum,4sum
- leetcode 2 sum & 3 sum & 4 sum
- 3Sum
- 3SUM
- 3-sum
- 3Sum
- 3Sum
- 3Sum
- 3Sum
- 【jQuery】选择器与一些常用方法应用详解
- gl_Position is not accessible in this profile
- android studio重新share Project方法
- OpenCV之直方图操作
- 图像卷积与滤波的一些知识点
- 3Sum
- ESP8285WiFi模块功能介绍 ESP8266
- 数据结构-顺序表(第二篇)
- Tomcat一闪而过的分析与解决
- MVC框架模式
- 图像处理知识点
- 怎样获得html5的audio组件加载的MP3文件的总时长
- MJPEG和H.264的区别
- 几个不错的Android开源音视频播放器