首页 > 其他分享 >滑动窗口

滑动窗口

时间:2023-09-04 12:22:06浏览次数:24  
标签:right 窗口 bestResult ++ 滑动 left

滑动窗口思想适用于:最长,最短 场景

其核心思想如下:

1)寻求最长 

——左右指针(L,R)在起点,R向右逐步滑动

——每次滑动过程中

——如果窗口内的值满足条件,R向右扩大窗口,并更新最优结果

       如果不满足条件,L向右缩小窗口

——R到达结尾

 

2)寻求最短

——左右指针(L,R)在起点,R向右逐步滑动

——每次滑动过程中

——如果窗口内的值满足条件,L向右缩小窗口,更新最优结果

       如果不满足条件,R向右扩大窗口

 

寻求最长思路:

int left =0, right = 0, curResult, bestResult = 0;

while(右指针没有到达结尾){
      窗口扩大,加入right对应的元素,获取当前结果
      if(当前结果 优于 最优结果){
           bestResult = curResult;
           
      }else{
           当前结果 移除 left所在元素
           窗口缩小,left++; 
      }
      right++;
}

 

寻找最短思路:

int left =0, right = 0, curResult, bestResult = 0;
while(右指针没有到达结尾){
  窗口扩大,加入right对应的元素,获取当前结果
if(当前结果 优于最优结果){
  bestResult = curResult;
窗口缩小,left++
}else{
    窗口扩大,right++
}
}

  

 

标签:right,窗口,bestResult,++,滑动,left
From: https://www.cnblogs.com/whutwxj/p/17676598.html

相关文章

  • 剑指 Offer 59 - I. 滑动窗口的最大值
    剑指Offer59-I.滑动窗口的最大值单调队列在增删元素的过程中要求能返回当前最大元素,和155.最小栈类似。classSolution{publicint[]maxSlidingWindow(int[]nums,intk){intn=nums.length,p=0;int[]res=newint[n-k+1];......
  • 设置cmd命令窗口的起始位置
    在Windows中,可以按照以下方法设置打开命令行窗口的默认路径:方法一:通过“计算机管理”修改在“我的电脑”图标上右击,选择“管理”命令,弹出“计算机管理”窗口。在左侧目录树中依次展开“系统工具/本地用户和组/用户”,接着双击右窗口的用户名。在弹出的“Administrator属性”窗......
  • 滑动窗口题目解析
    最近刷了两道非常经典的滑动窗口题目。感觉对自己帮助非常大,所以写下这篇博客来详细解释一下这两道题目,同时验证自己是否完全理解这两道题目。题目一:找到字符串中所有字母异位词题目链接:https://leetcode.cn/problems/find-all-anagrams-in-a-string/这道题目的要求很简单,即要求我......
  • vue 监听窗口变化
    mounted(){window.onresize=()=>{return(()=>{this.$nextTick(()=>{if(document.documentElement.clientWidth<=1000){this.mode="vertical"}else{......
  • Dialog弹窗式窗口(wx.dialog)的创建以及参数的反馈
    定义一个dialog类,在设置必要的窗口属性后,可参照panel的布局方式进行排布。#自定义对话框类,新增样机信息弹窗classDetailGridDialog(wx.Dialog):def__init__(self,parent,parameter1,parameter2,parameter3):super().__init__(parent,title="详情表单",......
  • C# wpf 实现窗口靠近屏幕边缘自动吸附
    参考:https://blog.csdn.net/qq_35831134/article/details/88751067#region侧吸privatenewboolHide=false;//用来表示当前隐藏状态,例如Hide=false就是不在隐藏状态stringtype="";//用来表示窗口隐藏在哪个方向pri......
  • Unity 2D如何让背景图片拉伸填满整个窗口
    usingSystem.Collections;usingSystem.Collections.Generic;usingUnityEngine;[RequireComponent(typeof(SpriteRenderer))]publicclassSpriteFullScreen:MonoBehaviour{//StartiscalledbeforethefirstframeupdatevoidStart(){......
  • tkinter窗口切换
    以下是使用tkinter实现窗口的创建、销毁和双向切换的示例代码: ```pythonimporttkinterastk classApp:  def__init__(self,root):    self.root=root    self.root.title("Tkinter窗口")    self.root.geometry("300x200")  ......
  • 剑指 Offer 59 - I. 滑动窗口的最大值
    题不难,但理解思路很重要。做法是单调队列。如果求滑动窗口的最大值,那么必须在单调队列保持严格单调递减(只能小于,小于等于也不行),为啥不行还不是很清楚。并且,单调队列一定存储的是数组的索引!!否则无法确定滑动窗口的开始位置以及开始时的队列存储最大值的情况。classSolution{......
  • ImGui界面优化:使用图标字体、隐藏主窗口标题栏
    目录使用图标字体扩展:内存加载字体隐藏主窗口标题栏增加程序退出改进HideTabBar窗口最大化总结本文主要介绍ImGui应用中的一些界面优化方法,如果是第一次使用ImGui推荐从上一篇文章开始:使用C++界面框架ImGUI开发一个简单程序,最终的界面效果如下:使用图标字体下载IconFontCppHead......