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

——滑动窗口

滑动窗口

所谓滑动窗口,就是不断的调节子序列的起始位置和终止位置,从而得出我们要想的结果。也可以理解为一种双指针的做法。
在这里插入图片描述

leetcode76

class Solution {public String minWindow(String s, String t) {char[] schars = s.toCharArray();char[] tchars = t.toCharArray();int []sint=new int[123];int []tint=new int[123];for (int i=0;i<tchars.length;i++){tint[tchars[i]]++;}int l=0;int r=schars.length;int distance=0;int begin=0;int min=schars.length+1;for(int i=0;i<r;i++){if(tint[schars[i]]==0){continue;}else{if(sint[schars[i]]<tint[schars[i]]){distance++;}sint[schars[i]]++;while (distance==tchars.length){if(i-l+1<min){begin=l;min=i-l+1;}if(tint[schars[l]]==0){l++;continue;}if(sint[schars[l]]==tint[schars[l]]){distance--;}sint[schars[l]]--;l++;}}}if(min==(s.length()+1)){return "";}return s.substring(begin,begin+min);}}
http://www.lryc.cn/news/150537.html

相关文章:

  • 【C++进阶】模板进阶
  • Vim如何清空文件
  • 问道管理:什么信号?煤飞色舞钢花溅
  • C# PaddleDetection yolo 印章检测
  • 常用框架分析(7)-Flutter
  • 清空 Docker 容器的日志文件
  • 01-虚拟机安装Windows Server操作系统
  • 应用案例 | 基于三维机器视觉的机器人麻袋拆垛应用解决方案
  • 1018 Public Bike Management 结题记录(dfs剪枝)
  • C++ deque底层原理
  • 打破对ChatGPT的依赖以及如何应对ChatGPT的错误和幻觉
  • 【git】【IDEA】在idea中使用git
  • 【设计模式】装饰者模式
  • open cv快速入门系列---数字图像基础
  • 基础知识回顾:借助 SSL/TLS 和 NGINX 进行 Web 流量加密
  • iPhone 14 Plus与iPhone 14 Pro:你应该买哪一款
  • 操作系统清华同步笔记:定义概述+计算机内存和硬盘布局+启动流程顺序+中断、异常和系统调用
  • uniapp 配置并使用 VueX
  • vue v-on 艾特@
  • 【Ajax】发送跨域的POST请求时,浏览器会先发送一次OPTIONS请求,然后才发送原本的POST请求
  • np.numpy, np.reshape, np.cumsum方法速查
  • 七、Kafka-Kraft 模式
  • jvm开启远程调试功能;idea远程debug
  • 视频汇聚/视频云存储/视频监控管理平台EasyCVR视频平台添加萤火云设备的具体操作步骤
  • vue 加载图片不显示
  • Java for循环每次都通过list.size()和 string.length()获取大小性能
  • 面试题 08.01. 三步问题
  • springboot添加SSL证书,支持https与http
  • 【AI】《动手学-深度学习-PyTorch版》笔记(二十):图像增强、微调
  • Vulnhub: Ragnar Lothbrok: 1靶机