算法练习题--滑动窗口算法详细解析(上)(简单题) -- 适合面试和算法竞赛 -- 滑动!

本文参考:

灵茶山艾府

题单:分享丨【题单】滑动窗口(定长/不定长/多指针) - 力扣(LeetCode)

本文主要通过Leetcode平台和上面的题单来进一步提炼出一些有意思的,值得反复练习的题目

可以反复尝试和练习,不论是面试还是打算法竞赛,还是单纯的爱好,都有或多或少的帮助

滑动窗口算法原理详解文章可以看我的文章:

定长滑动窗口算法详细解释(带例题的详细解法)-优快云博客

不定长滑动窗口算法详细解释(带例题的详细解法)-优快云博客

本文讲解的题目(建议先尝试一下再看题解):

(题目后面的数字表示难度分,可以直接点击链接跳转到题目)

觉得文章写的好可以点个赞,下个星期争取更新中等题和困难题的题解,还有二分查找算法

最近codeforces比赛也挺多的,会有点忙

题一:

567. 字符串的排列 - 力扣(LeetCode)

题目大意和思路:

两个字符串,判断s2是否包含s1的排列

也就是说字符串s2中是否存在一段连续子字符串满足:

长度与s1相等,且所含有字母跟s1一样

可以维护一个长度等于s1的窗口来遍历s2

先统计开始窗口的字符

窗口开始滑动,维护出来的字符和进入的字符

统计字符数量可以用哈希表来处理

注意:如果使用哈希表处理,那么当窗口内某元素个数为0时候,要删除这个键

哈希表做法(Python):

class Solution:
    d
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值