基础算法:滑动窗口

基础算法:滑动窗口 核心思想right 一直往右走不回退left 只在“窗口非法”时被迫右移也不回退时间优化两层for-一层while;模板最长合法窗口intleft0,ret0;unordered_mapint,intmp;// 计数器视题意更换for(intright0;rightn;right){// 1. 进窗口mp[a[right]];// 2. 判断合法性while(mp[a[right]]1){// 出现重复非法// 3. 出窗口mp[a[left]]--;left;}// 4. 更新答案retmax(ret,right-left1);}常见题型最长无重复子串最长至多k个重复子串