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