解决定长滑动窗口问题(一)----开篇

如果还不了解滑动窗口是什么的话可以先去百度或者leetcode上了解一下滑动窗口。该篇文章主要讲解固定长度的滑动窗口问题。相信我,学会该套路解决所有定长滑动窗口问题!!!话不多说,正题开始!在此先奉上定长滑动窗口的leetcode题单。注:该题单来自灵神,一位算法讲师,大家想要开始算法入门学习可以关注他的b站或leetcode账号。

分享丨【题单】滑动窗口与双指针(定长/不定长/至多/至少/恰好/单序列/双序列/三指针) - 力扣(LeetCode)


定长滑动窗口的一般套路:

定长滑动窗口的套路主要分为三步:

1. 入窗口

2.更新答案

3.出窗口


定长滑动窗口的代码模板:

  int main() {
       //固定长度为k的滑动窗口
       //定义最终答案和窗口内需要维护的变量
        int ans = 0;
        //left为窗口左边界,right为窗口的右边界
        for(int left = 0,right = 0;right<n;right++){
            //入窗口,更新维护信息
            //先形成长度为k的窗口 right到达k-1的时候说明第一个长度为k的窗口就形成了
            if(right < k-1) continue;
            //形成窗口后更新答案,一般求最大或者最小值,根据题目要求更新答案

            //出窗口
            //因为此时窗口的长度已经为k,下一次循环right++窗口的长度会变大,
            // 所以需要先将窗口左边
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值