一.滑动窗口题型模板 /* * 滑动窗口类型: 模板 */ public List<Integer> slideWindowMode(String s, String t) { // 1 根据题目返回类型定义数据结构 ArrayList<Integer> result = new ArrayList<>(); if(t.length()> s.length()) return result; // 2 新建Map, Key=字符,value=频率 HashMap&…
题目 我们定义「顺次数」为:每一位上的数字都比前一位上的数字大 1 的整数. 请你返回由 [low, high] 范围内所有顺次数组成的 有序 列表(从小到大排序).   示例 1: 输出:low = 100, high = 300 输出:[123,234] 示例 2: 输出:low = 1000, high = 13000 输出:[1234,2345,3456,4567,5678,6789,12345] 提示: 10 <= low <= high <= 10^9 解答 作为一个拥有聪明…
给定一个数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧.你只可以看到在滑动窗口内的 k 个数字.滑动窗口每次只向右移动一位. 返回滑动窗口中的最大值. 输入: nums = [1,3,-1,-3,5,3,6,7], 和 k = 3 输出: [3,3,5,5,6,7] 解释: 滑动窗口的位置 最大值 --------------- ----- [1 3 -1] -3 5 3 6 7 3 1 [3 -1 -3] 5 3 6 7 3 1 3 [-1 -3 5] 3 6 7…
In a row of trees, the i-th tree produces fruit with type tree[i]. You start at any tree of your choice, then repeatedly perform the following steps: Add one piece of fruit from this tree to your baskets.  If you cannot, stop. Move to the next tree t…
前情提示:Go语言学习者.本文参考https://labuladong.gitee.io/algo,代码自己参考抒写,若有不妥之处,感谢指正 关于golang算法文章,为了便于下载和整理,都已开源放在: https://github.com/honlu/GoLabuladongAlgorithm https://gitee.com/dreamzll/GoLabuladongAlgorithm 方便的话,请分享,star!备注转载地址!欢迎一起学习和交流! 涉及题目 Leetcode 76. 最小…
3. 无重复字符的最长子串 题目描述 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度. 示例: 输入: "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3. 输入: "bbbbb" 输出: 1 解释: 因为无重复字符的最长子串是 "b",所以其长度为 1. 输入: "pwwkew" 输出: 3 解释: 因为无重复字符的最长子串是 "w…
https://leetcode-cn.com/problems/minimum-window-substring/solution/hua-dong-chuang-kou-suan-fa-tong-yong-si-xiang-by-/ (滑动窗口通用思想) 描述 给你一个字符串 S.一个字符串 T,请在字符串 S 里面找出:包含 T 所有字母的最小子串. 示例: 输入: S = "ADOBECODEBANC", T = "ABC"输出: "BANC&qu…
题目438. 找到字符串中所有字母异位词 给定一个字符串 s 和一个非空字符串 p,找到 s 中所有是 p 的字母异位词的子串,返回这些子串的起始索引. 说明: 字母异位词指字母相同,但排列不同的字符串. 不考虑答案输出的顺序. 题解 滑动窗口. 数据结构 准备两个HashMap,needs存模式串中各字符出现次数,window存待匹配串中(在needs中出现过的)各字符出现的次数. 用match来计数量匹配对的字符数. 具体方法 维护滑动窗口的左右指针. 右指针不断右移知道串包含了所有模式串中…
3. 无重复字符的最长子串 A: 要找最长的无重复子串,所以用一个map保存出现过的字符,并且维持一个窗口,用le和ri指针标识.ri为当前要遍历的字符,如果ri字符在map中出现过,那么将le字符从map移除,le++.如果ri字符没出现过,那ri++,并更新最大无重复子串长度.全程利用map保持无重复的要求,每次循环要么le++,要么ri++.最差情况是n个一样的字符,那么ri++,le++,ri++,le++这样一直从0循环到n-1.时间复杂度和空间复杂度都是O(N). class Sol…
滑动窗口,这玩意解决一些字符串匹配的题目是真的挺好用的,虽然本质还是双指针. 思路: 1.维护一个窗口,不断的向右边移动 2.满足要求后,移动左边,当不满足时,跳出. 3.重复1,2.得出答案. 下面有两题leetcode题,一道困难一道中等,现在看来还挺简单的,23333 另外STL的unordered_map的count方法,是验证key值是否存在. 同时如果key值不存在,新加的key对应的值默认为零 438. 找到字符串中所有字母异位词 题目说明: 给定一个字符串 s 和一个非空字符串…