![](https://img-blog.csdnimg.cn/17e5f398a1434ad99f8b762bafa24149.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
力扣刷题笔记——滑动窗口
力扣关于滑动窗口的题目
四维sun
一名努力学习的程序媛!
展开
-
力扣剑指offer II 015——字符串中的所有变位词
思路:滑动窗口 窗口的大小为字符串p的长度,用两个长度为26的数组S和P(题目中说了s 和 p 仅包含小写字母,所以用大小为26的数组即可),分别来装滑动窗口中的字母和字符串p中的字母,然后比较数组S和P是否相等,然后滑动窗口,更新数组S中的值继续比较S与P 数组S和P的作用相当于桶!!! 代码: class Solution { public: vector<int> findAnagrams(string s, string p) { int sl=...原创 2022-01-12 17:33:25 · 111 阅读 · 0 评论 -
2134、最少交换次数来组合所有的1 II
思路:滑动窗口 窗口的大小就是数组中1的个数,确定了窗口的大小,定义结果集为res,初始化窗口左右边界从数组开头开始,用sum记录窗口中0的个数, 因为第一个元素和最后一个元素相邻,所以我们可以再用一个数组nums拼接到数组后面,来完成环形数组,但在实际写代码中,我们只需要在滑动窗口的过程中让条件为窗口的右边界R<2*nums.size(),然后用nums[L%nums.size()]找到数组中的元素即可 在滑动窗口的过程中,如果sum&l...原创 2022-01-12 16:48:58 · 453 阅读 · 0 评论