fFee-ops's Blog
503. 下一个更大元素 II(数据结构系列) 503. 下一个更大元素 II(数据结构系列)
503. 下一个更大元素 II 题目 解题思路 代码 题目给定一个循环数组(最后一个元素的下一个元素是数组的第一个元素),输出每个元素的下一个更大元素。数字 x 的下一个更大的元素是按数组遍历顺序,这个数字之后的第一个比它更大的数,这
2021-02-24
496. 下一个更大元素 I(数据结构系列) 496. 下一个更大元素 I(数据结构系列)
496. 下一个更大元素 I 题目 解题思路 代码 题目给你两个 没有重复元素 的数组 nums1 和 nums2 ,其中nums1 是 nums2 的子集。 请你找出 nums1 中每个元素在 nums2 中的下一个比其大的值。 n
2021-02-24
460. LFU 缓存(数据结构系列) 460. LFU 缓存(数据结构系列)
460. LFU 缓存 题目 解题思路 代码 题目请你为 最不经常使用(LFU)缓存算法设计并实现数据结构。 实现 LFUCache 类: LFUCache(int capacity) - 用数据结构的容量 capacity 初始化
2021-02-24
146. LRU 缓存机制(数据结构系列) 146. LRU 缓存机制(数据结构系列)
146. LRU 缓存机制 题目 解题思路 代码 题目运用你所掌握的数据结构,设计和实现一个 LRU (最近最少使用) 缓存机制 。实现 LRUCache 类: LRUCache(int capacity) 以正整数作为容量 cap
2021-02-23
3. 无重复字符的最长子串(滑动窗口) 3. 无重复字符的最长子串(滑动窗口)
3. 无重复字符的最长子串 题目 解题思路 代码 题目给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。提示: 0 <= s.length <= 5 * 104 s 由英文字母、数字、符号和空格组成 解题
2021-02-22
438. 找到字符串中所有字母异位词(滑动窗口) 438. 找到字符串中所有字母异位词(滑动窗口)
438. 找到字符串中所有字母异位词 题目 解题思路 代码 题目给定一个字符串 s 和一个非空字符串 p,找到 s 中所有是 p 的字母异位词的子串,返回这些子串的起始索引。 字符串只包含小写英文字母,并且字符串 s 和 p 的长度都
2021-02-22
567. 字符串的排列(滑动窗口) 567. 字符串的排列(滑动窗口)
567. 字符串的排列 题目 解题思路 代码 题目给定两个字符串 s1 和 s2,写一个函数来判断 s2 是否包含 s1 的排列。 换句话说,第一个字符串的排列之一是第二个字符串的子串。 解题思路还是套用模板就可以了。注意两点:①收缩
2021-02-22
滑动窗口模板 滑动窗口模板
public void minWindow(String s, String t) { Map<Character, Integer> need = new HashMap<>();
2021-02-22
76. 最小覆盖子串(滑动指针) 76. 最小覆盖子串(滑动指针)
76. 最小覆盖子串 题目 解题思路 代码 题目给你一个字符串 s 、一个字符串 t 。返回 s 中涵盖 t 所有字符的最小子串。如果 s 中不存在涵盖 t 所有字符的子串,则返回空字符串 “” 。 注意:如果 s 中存在这样的子串,
2021-02-22
773. 滑动谜题(BFS) 773. 滑动谜题(BFS)
773. 滑动谜题 题目 解题思路 代码 题目在一个 2 x 3 的板上(board)有 5 块砖瓦,用数字 1~5 来表示, 以及一块空缺用 0 来表示. 一次移动定义为选择 0 与一个相邻的数字(上下左右)进行交换. 最终当板 b
2021-02-18
752. 打开转盘锁(BFS) 752. 打开转盘锁(BFS)
752. 打开转盘锁 题目 解题思路 代码 题目你有一个带有四个圆形拨轮的转盘锁。每个拨轮都有10个数字: ‘0’, ‘1’, ‘2’, ‘3’, ‘4’, ‘5’, ‘6’, ‘7’, ‘8’, ‘9’ 。每个拨轮可以自由旋转:例如
2021-02-18
22. 括号生成(回溯算法) 22. 括号生成(回溯算法)
22. 括号生成 题目 解题思路 代码 题目数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。 解题思路这题套用回溯算法的模板就可以了。但是有两个注意的点就是回溯的结束条件。 代码/* 本题
2021-02-18
13 / 21