class Solution {//要去掉重复的三元组
public:vector<vector<int>> threeSum(vector<int>& nums) {int target;vector<vector<int>> ans;sort( nums.begin(),nums.end() ); //将所给的数据排序for(int i = 0 ; i < nums.size(); i++){int l = i + 1, r = nums.size() - 1; target = nums[i];if (i > 0 && nums[i] == nums[i - 1]) continue; //去重while(l < r){if(nums[l] + nums[r] + target < 0) l++;else if(nums[l] + nums[r] + target > 0) r--;else{ans.push_back({target,nums[l],nums[r]});l++; r--;while (l < r && nums[l] == nums[l - 1]) l++;//去重while (l < r && nums[r] == nums[r + 1]) r--;//去重}}}return ans;}
};
详细解决方案
leetcode六月每日一题 leetcode15(双指针)
热度:72 发布时间:2023-11-13 12:53:52.0
相关解决方案
- Search for a range寻觅上下界-Leetcode
- Java [leetcode 一] Two Sum
- Leetcode: Number of 一 Bits
- leetcode-最少的箭射爆气球
- leetcode-239-滑动窗口最大值-java
- leetcode -- sql -- 获取各课程第二高成绩的人的信息
- Leetcode【840】Magic Squares In Grid
- Leetcode 412: Fizz Buzz
- leetcode-124-二叉树中的最大路径和-java
- LeetCode-89、格雷编码-中等
- 《leetCode-php》合并k个排序链表
- leetcode 82删除排序链表中的重复元素
- [LeetCode] 521 最长特殊序列 Ⅰ
- Leetcode 1291:顺次数(超详细的解法!!!)
- LeetCode 刷题记录(19、20)—Java语言
- LeetCode 刷题记录(16、17、18)—Java语言
- LeetCode 刷题记录(15)—Java语言
- LeetCode 刷题记录(14)—Java语言
- LeetCode 刷题记录(11,12,13)—Java语言
- LeetCode 刷题记录(8,9,10)—Java语言
- LeetCode 刷题记录(5,6,7)—Java语言
- LeetCode 刷题记录(4)—Java语言
- LeetCode 刷题记录(1,2,3)—Java语言
- LeetCode:刷题指南
- LeetCode:数据结构和算法的关系
- Leetcode(85)maximal-rectangle(最大矩形面积)
- Leetcode 之 First Bad Version (第一个错误的版本)
- java LFU和LRU实现 (leetcode 460. LFU缓存)
- 【LeetCode】两数之和(C++)
- 【LeetCode 之数组和字符串】搜索插入位置