3Sum
来源:互联网 发布:零基础如何学好c语言 编辑:程序博客网 时间:2024/06/01 08:06
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.
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());//从小到大排序 for(int index = 0; index < nums.size()-2; index++) { if(index == 0 || (index > 0 && nums[index] != nums[index-1])) // 去除重复的情况 { int i = index + 1; int j = nums.size() - 1; while(i < j)//类似于快速排序的代码格式 { if(-nums[index] == (nums[i] + nums[j])) { vector<int> temp; temp.push_back(nums[index]); temp.push_back(nums[i]); temp.push_back(nums[j]); result.push_back(temp); while(i < j && nums[i] == nums[i+1]) i++; while(i < j && nums[j] == nums[j-1]) j--; i++,j--; } else if(i < j && -nums[index] < (nums[i] + nums[j])) j--; else if(i < j && -nums[index] > (nums[i] + nums[j])) i++; } } } return result; }};
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
- Tensor数据相关的运算及函数讲解
- 嘟哝之JDK -- ArrayList
- C语言学习笔记4
- MySQL 错误一例 ERROR 1785 (HY000) @@GLOBAL.ENFORCE_GTID_CONSISTENCY = 1..
- string int
- 3Sum
- 【HDU 1426 Sudoku Killer】+ DFS
- [android]错误:Suggestion: use tools:overrideLibrary="" to force
- Ubuntu 16.04 笔记本无法连接Wifi上网
- 面向对象this关键字
- Unity5.x AssetBundle打包和加载深入分析
- android简洁代码封装 -- popupwindow/dialog在实际业务中的封装
- 对正则刚入门初学的开发者来说有用的正则表达式的语法详解
- 扫地机器人构图相关介绍网站