Leetcode—76. 最小覆盖子串【困难】

2024每日刷题(167)

Leetcode---76. 最小覆盖子串

C++实现代码

cpp 复制代码
class Solution {
public:
    string minWindow(string s, string t) {
        int bestL = -1;
        int l = 0, r = 0;
        vector<int> cnt(128);
        for(const char c: t) {
            cnt[c]++;
        }
        int require = t.length();

        int minLen = s.length() + 1;
        for(; r < s.length(); r++) {
            if(--cnt[s[r]] >= 0) {
                --require;
            }
            while(require == 0) {
                if(r - l + 1 < minLen) {
                    bestL = l;
                    minLen = r - l + 1;
                }
                if(++cnt[s[l++]] > 0) {
                    ++require;
                }
            }
        }
        return bestL == -1 ? "": s.substr(bestL, minLen);
    }
};

运行结果

之后我会持续更新,如果喜欢我的文章,请记得一键三连哦,点赞关注收藏,你的每一个赞每一份关注每一次收藏都将是我前进路上的无限动力 !!!↖(▔▽▔)↗感谢支持!

相关推荐
X journey6 小时前
机器学习进阶(13):支持向量机SVM
算法·机器学习·支持向量机
洛水水6 小时前
【力扣100题】30.二叉树的直径
算法·leetcode·职场和发展
REDcker6 小时前
C++变量存储与ELF段布局详解 从const全局到rodata与nm_readelf验证实践
java·c++·面试
gihigo19987 小时前
Bezier曲线曲面生成算法
算法
平行侠8 小时前
024多精度大整数 - 突破硬件精度限制的任意精度运算
数据结构·算法
IronMurphy8 小时前
【算法四十五】139. 单词拆分
算法
王老师青少年编程9 小时前
csp信奥赛C++高频考点专项训练之字符串 --【字符串排序】:合并序列
c++·字符串·csp·高频考点·信奥赛·字符串排序·合并序列
洛水水9 小时前
【力扣100题】32.将有序数组转换为二叉搜索树
数据结构·算法·leetcode
handler019 小时前
UDP协议与网络通信知识点
c语言·网络·c++·笔记·网络协议·udp
如竟没有火炬10 小时前
用队列实现栈
开发语言·数据结构·python·算法·leetcode·深度优先