首页 > 其他分享 >滑动窗口框架:来自 labuladong

滑动窗口框架:来自 labuladong

时间:2023-09-15 10:35:51浏览次数:55  
标签:... right 窗口 char window 滑动 labuladong left

/* 滑动窗口算法框架 */
void slidingWindow(string s, string t) {
    unordered_map<char, int> need, window;
    for (char c : t) need[c]++;
    
    int left = 0, right = 0;
    int valid = 0; 
    while (right < s.size()) {
        // c 是将移入窗口的字符
        char c = s[right];
        // 右移窗口
        right++;
        // 进行窗口内数据的一系列更新
        ...

        /*** debug 输出的位置 ***/
        printf("window: [%d, %d)\n", left, right);
        /********************/
        
        // 判断左侧窗口是否要收缩
        while (window needs shrink) {
            // d 是将移出窗口的字符
            char d = s[left];
            // 左移窗口
            left++;
            // 进行窗口内数据的一系列更新
            ...
        }
    }
}

其中两处 ... 表示的更新窗口数据的地方,到时候你直接往里面填就行了。

而且,这两个 ... 处的操作分别是右移和左移窗口更新操作,等会你会发现它们操作是完全对称的。

标签:...,right,窗口,char,window,滑动,labuladong,left
From: https://www.cnblogs.com/yhstsy/p/17704287.html

相关文章

  • selenium左右页面右侧滑动
    正常网页的情况翻页滑动或者滑动到底部,都是定位标签,对于网页分左右测,不含框架,可以定位div标签,如果真找不到可以换个浏览器也许会有特殊的发现。          ......
  • python安装后,添加完环境变量,dos窗口输入python无效
    问题背景python版本:3.8.5安装时是否勾选添加环境:是问题:dos窗口输入python提示:无任何报错提示,弹出windows应用商店解决方案问题1:弹出windows应用商店是因为默认的商店的path环境变量优先级高于我们配置的python目录,将对应的配置优先级调换即可,比如C:\Users\panie\AppDa......
  • selenium 窗口切换
    前期准备fromtimeimportsleepfromseleniumimportwebdriverfromselenium.webdriver.common.byimportByfromselenium.webdriver.support.uiimportWebDriverWaitfromselenium.webdriver.supportimportexpected_conditionsasEC#创建Chrome浏览器对象chrome......
  • 剑指 Offer 59 - I. 滑动窗口的最大值
    题目链接:剑指Offer59-I.滑动窗口的最大值题目描述:给定一个数组nums和滑动窗口的大小k,请找出所有滑动窗口里的最大值。解法思路:单调队列:维护一个单调的队列,队列中保存的是对应数字的数组下标每新加进来一个元素,首先删除队头(超出滑动窗口的范围的值)然后比较当前元......
  • 暂时保留的图片滑动验证不完整的代码,
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"/><title>图片滑动验证</title><metaname="viewport"content="width=device-width,initial-scale=1.0"/>......
  • Iterm把多个窗口放在一个界面
    Iterm把多个窗口放在一个界面Command+D:横向扩展一个窗口Command+Shirt+D:纵向扩展一个窗口Command+Shirt+i:平铺的窗口,统一命令管理。......
  • vue前端table列表右侧的滑动条怎样实现
    要在Vue前端table列表右侧添加滑动条,您可以使用CSSoverflow属性和::-webkit-scrollbar伪元素来实现。以下是示例代码:<template><divclass="table-container"><tableclass="table"><!--表头--><thead><tr>......
  • Qt实现QWidgets窗口圆角效果
    对于Qt里其它多数控件,我们可以直接通过设置qssborder-radius:?px;的方式来实现圆角。而我们最常用的窗口QWidget的qss却并不支持这一属性。StackOverFlow上的大佬@hank则给出了一种使用QPainter和遮罩的解决方式:首先#include<QPainterPath>,然后构造你的QWidget。在下文中我......
  • c++创建简单窗口
    #include<Windows.h>//自定义的窗口过程LRESULTCALLBACKMyWindowProc(HWNDhWnd,UINTMsg,WPARAMwParam,LPARAMlParam){switch(Msg){caseWM_DESTROY://WM_DESTORY代表“窗口关闭”消息PostQuitMessage(0);return0;default......
  • 双向滑动
    slider_controller|FlutterPackagehttps://pub.dev/packages/slider_controllerflutter_multi_slider|FlutterPackagehttps://pub.dev/packages/flutter_multi_slider/example   Flutter自定义View之——价格选择器|双向滑动|手势处理_滑动选择器双向_Code-Porter......