滑动窗口
刹那永恒HB
看了不点赞,画个圈圈诅咒你!!!!!
展开
-
力扣刷题32
剑指 Offer II 009. 乘积小于 K 的子数组 给定一个正整数数组 nums和整数 k ,请找出该数组内乘积小于 k 的连续的子数组的个数。 滑动窗口 首先外层循环判断右边界有没有走到头 其次内层循环判断乘积是否大于等于k,如果满足,说明这个滑动窗口不满足题目条件,需要将左边界缩小,因为元素都是正整数,所以缩小边界,元素个数减少,那么乘积就会减小,直到乘积小于k,如果判断条件右边界小于左边界,那么以长度为贡献值赋予ans class Solution { public int numSub原创 2021-12-24 10:27:45 · 288 阅读 · 0 评论 -
力扣刷题28
剑指 Offer II 016. 不含重复字符的最长子字符串 给定一个字符串 s ,请你找出其中不含有重复字符的 最长连续子字符串 的长度。 利用滑动窗口+hashset 当set中包含重复项时,窗口的left++,缩小一直到没有重复项在窗口中,没有重复项的情况下,right++,窗口增大,一直到n结束,每次外层循环都维护长度最大值,取上一次的max和当前的right-left+1 class Solution { public int lengthOfLongestSubstring(String原创 2021-12-23 14:26:03 · 170 阅读 · 0 评论