顺序遍历:求解《面试题 17.11. 单词距离》
顺序遍历,求解《面试题 17.11. 单词距离》
哈希集合或动态规划:求解《467. 环绕字符串中唯一的子字符串》
哈希集合或动态规划,求解《467. 环绕字符串中唯一的子字符串》
Java 的 ArrayDeque 的 API 介绍,递归和迭代实现二叉树前序、中序、后序遍历:求解《965. 单值二叉树》
Java 的 ArrayDeque 的 API 介绍,递归和迭代实现二叉树前序、中序、后序遍历,求解《965. 单值二叉树》
广度优先搜索:求解《675. 为高尔夫比赛砍树》
广度优先搜索,求解《675. 为高尔夫比赛砍树》
记忆化递归 + 状态压缩掩码:求解《464. 我能赢吗》
记忆化递归,状态压缩掩码,求解《464. 我能赢吗》
哈希集合、间隔、随机化:3 种方法求解《961. 在长度 2N 的数组中找出重复 N 次的元素》
哈希集合、间隔、随机化,3 种方法求解《961. 在长度 2N 的数组中找出重复 N 次的元素》
排序,二分查找:求解《436. 寻找右区间》
排序,二分查找(Python 的 bisect.bisect_left 和 Golang 的 sort.Search),求解《436. 寻找右区间》
快速排序(快速选择)优化:双指针、打乱数组、随机基准元素(随机数、中间数、中位数)、三路划分三指针:求解《462. 最少移动次数使数组元素相等 II》
快速排序(快速选择)的优化:双指针、打乱数组(Fisher–Yateshuffle 洗牌算法)、随机基准元素(随机数、中间数、中位数)、三路划分(三切分 / 三指针 / 三分查找)。求解《462. 最少移动次数使数组元素相等 II》。
排序、最小值,基于排序获取中位数:求解《1887. 使数组元素相等的减少操作次数》《453. 最小操作次数使数组元素相等》和《462. 最少移动次数使数组元素相等 II》
排序、最小值,基于排序获取中位数,求解《1887. 使数组元素相等的减少操作次数》《453. 最小操作次数使数组元素相等》和《462. 最少移动次数使数组元素相等 II》
二分查找:求解《668. 乘法表中第k小的数》
二分查找,求解《668. 乘法表中第k小的数》
1612131415上页下页