力扣hot100【滑动窗口】

3.无重复字符的最长子串

双指针维护无重复字符的区间,更新长度。

c++ 复制代码
class Solution {
public:
    int lengthOfLongestSubstring(string s) {
        unordered_map<char,int>mp; 
        int n=s.size();
        int ans=0;
        for(int i=0,j=0;j<n;j++){
            mp[s[j]]++;
            while(mp[s[j]]>1){
                mp[s[i]]--;
                i++;
            }
            ans=max(ans,j-i+1);
        }
        return ans;
    }
};

438.找到字符串中所有字母异位词

字母异位词,长度相等。以目的字符串为长度去原串中遍历,双指针维护长度,cnt数组统计字符出现次数

c++ 复制代码
class Solution {
public:
    vector<int> findAnagrams(string s, string p) {
        int n=s.size();
        int m=p.size();
        array<int, 26> cnt_p{}; 
        array<int, 26> cnt_s{};
        vector<int>ans;
        for(char c:p){
            cnt_p[c-'a']++;
        }
        for(int i=0;i<n;i++){
            cnt_s[s[i]-'a']++;
            if(i-m+1<0){
                continue;
            }
            if(cnt_p==cnt_s){
                ans.push_back(i-m+1);
            }
            cnt_s[s[i-m+1]-'a']--;
        }
        return ans; 
    }
};
相关推荐
运行时记录1 小时前
prompt-optimizer skill
算法
万法若空1 小时前
【数据结构-哈希表】哈希表原理
数据结构·算法·散列表
退休倒计时1 小时前
【每日一题】LeetCode 437. 路径总和 III TypeScript
算法·leetcode·typescript
学逆向的2 小时前
汇编——内存
开发语言·汇编·算法·网络安全
tachibana22 小时前
hot100 翻转二叉树(226)
java·数据结构·算法·leetcode
兰令水2 小时前
leecodecode【面试150】【2026.7.9打卡-java版本】
java·数据结构·leetcode·面试·职场和发展
生戎马3 小时前
高光谱拼接算法(七)USAC
算法
PhotonixBay3 小时前
共聚焦成像核心原理:针孔、PSF与三维形貌测量技术
人工智能·测试工具·算法
程序员小远3 小时前
接口测试之文件上传
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·接口测试
来一碗刘肉面3 小时前
C++中的引用语法
c++·算法