小工具知识网

当前位置: 首页 > 行业知识 > 力扣hot6---双指针

行业知识

力扣hot6---双指针

2026-11-08 20:51:09 来源:互联网转载

题index.php/tags-41973.html" >���:

TLE做法(哈希+两重for循环)

标签虽然说是用双指针,但是第一个想法真就不是双指针呀。。。就感觉这道题很像:

力扣hot1--哈希-CSDN博客

于是就用了类似的想法:

  1. 首先要排个序,至于为什么要排序,是为了好对三元组集合去重。
  2. 接下来与力扣hot1的想法一样,用哈希来存储一遍这些元素,但是有的元素可能重复了好多次(注意这里数组已经排过序了),所以unordered_map,vector记录对应的索引。
  3. 用双重for循环来判断,第三个数是否在哈希表中,如果存在,还要判断索引是不是一致,如果一致,那就还是不行。如果不一致,那就记录下来,存入res。为了方便去重,这里采用了顺序存取三个数。
  4. 最后用set去重啦,虽然TLE了,但是。。。记录一下代码(以下是TLE的代码)

代码:

class Solution {public:    vector threeSum(vector& nums) {        //nums排序        sort(nums.begin(),nums.end());        //哈希存        vector res;        unordered_map hmap;        int len=nums.size();        for(int i=0;i

上一篇:【Python】进阶学习:pandas--rename()用法详解

下一篇:宝塔面板怎么套盾牌?