news 2026/7/1 2:50:10

python滑动窗口的实现

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
python滑动窗口的实现

文章目录

  • 一、滑动窗口是什么?
  • 二、python实现滑动窗口
  • 总结

一、滑动窗口是什么?

在数组上或者字符串上,用一个固定或可变长度的“窗口区间”,不断向右移动,每次只修改窗口左右边界、复用上一轮计算结果,避免重复遍历,把暴力双循环O(n^2)优化成O(n)。

二、python实现滑动窗口

给定一个字符串 s ,请你找出其中不含有重复字符的 最长 子串 的长度。

s="pwwkew"count=0max_count=0look_up=set()#滑动窗口集合left=0#左边界foriinrange(len(s)):count+=1whiles[i]inlook_up:#窗口滑动的关键look_up.remove(s[left])#移除左边界的值left+=1#向右滑动count-=1ifcount>max_count:max_count=count look_up.add(s[i])print(max_count)

总结

1.暴力双循环会重复计算大量区间和、统计量,时间复杂度为O(n^2),相比于暴力双循环,滑 动窗口只增减刚进出窗口的元素,每个元素仅进窗口 1 次、出窗口 1 次,时间复杂度 O (n)。
2.滑动窗口只能处理连续区间,如果题目要选不连续元素(子集),不能用。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/1 2:48:29

《老人与海》A man can be destroyed but not defeated

《老人与海》A man can be destroyed but not defeated 欧内斯特海明威(Ernest Hemingway,1899~1961)美国小说家,以其简洁有力的“冰山理论”写作风格和对“硬汉精神”的刻画著称,于1954年凭借《老人与海》…

作者头像 李华
网站建设 2026/7/1 2:47:01

从零构建AI工作流与智能体:以视频摘要生成为例的实践指南

在实际 AI 项目开发中,我们常常面临一个困境:单个 AI 模型或工具能力有限,而复杂的业务需求往往需要串联多个步骤,例如从文本生成视频脚本,再生成语音,最后剪辑成片。这个过程如果手动操作,不仅…

作者头像 李华
网站建设 2026/7/1 2:46:14

人工智能领域开源TOP20项(2026.06.09-2026.06.14)

排名项目名Star描述1pewdiepie-archdaemon/odysseus70k一个自托管的 AI 工作空间,用于聊天、代理、研究、文档、电子邮件、笔记、日历和本地模型工作流程2chopratejas/headroom26k在工具输出、日志、文件和 RAG 数据块到达 LLM 之前对其进行压缩。减少 60-95% 的令牌…

作者头像 李华
网站建设 2026/7/1 2:43:58

【图像去雾】matlab实现基于深色通道先验的单幅图像去雾算法研究

MATLAB实现基于深色通道先验的单幅图像去雾算法研究 1、项目下载: 本项目完整讲解和全套实现源码见下资源,有需要的朋友可以点击进行下载 说明 文档(点击下载) 全套源码+学术论文 matlab实现基于深色通道先验的单幅图像去雾算法研究-深色通道先验-图像去雾-算法研究-matl…

作者头像 李华