当前位置: 首页 > news >正文

【力扣hot100题】(008)找到字符串中所有字母异位词

我果然还是太菜了(点烟)。

一开始想法是构建map,记录每个字母出现的位置,后来想了好久滑动窗口该怎么移动。

后来看了答案才明白滑动窗口是固定的啊啊啊,每次向右滑就两指针同时右移就行。

好简单……为什么我做了这么久…………

class Solution {
public:
    vector<int> findAnagrams(string s, string p) {
        unordered_map<char,int> mp;
        vector<int> result;
        int low=0;
        int high=0;
        for(int i=0;i<p.size();i++){
            mp[p[i]]++;
            mp[s[high]]--;
            if(mp[p[i]]==0) mp.erase(p[i]);
            if(mp[s[high]]==0) mp.erase(s[high]);
            high++;
        }
        if(mp.empty()) result.push_back(low);
        while(high<s.size()){
            mp[s[high]]--;
            mp[s[low]]++;
            if(mp[s[low]]==0) mp.erase(s[low]);
            if(mp[s[high]]==0) mp.erase(s[high]);
            high++;
            low++;
            if(mp.empty()) result.push_back(low);
        }
        return result;
    }
};

相关文章:

  • IP报文格式
  • 国科云:浅谈DNS在IPv6改造过程中的重要性
  • flask开发中设置Flask SQLAlchemy 的 db.Column 只存储非负整数(即 0 或正整数)
  • 内存泄漏排查方法
  • 视频字幕python自动提取
  • Redis + Caffeine多级缓存电商场景深度解析
  • 北斗导航 | 改进最小二乘残差法的接收机自主完好性监测算法原理,公式,应用,研究综述,matlab代码
  • 在java中使用Redis
  • C 语言输入输出详解
  • 从零构建大语言模型全栈开发指南:第三部分:训练与优化技术-3.2.3预训练任务设计:掩码语言建模(MLM)与下一句预测(NSP)
  • 伊利工业旅游4.0,近距离感受高品质的魅力
  • Navicat连接postgresql时出现“datlastsysoid does not exist”报错的问题
  • Ruoyi-vue前后端分离系统部署
  • 如何在linux中部署dns服务 主备dns (详细全过程)
  • vue中使用threejs的加载纹理没有效果
  • 安卓-关于setOnTouchListener和setOnClickListener冲突的问题
  • 2025_0327_生活记录
  • vue配置.eslintrc、.prettierrc详解
  • 如何让 AI 搜索为您的企业可见性战略助力飞升!
  • 外贸独立站相关知识扫盲
  • 网站备案查询 美橙网/baidu百度网盘
  • 做淘宝货源网站/查网站流量的网址
  • 装潢设计软件免费/青岛谷歌seo
  • wordpress 显示页面标题/搜索引擎优化方法
  • 做理财网站需要办理icp证吗/网站制作免费
  • 网站建设黄页软件/seo网站优化服务合同