广度优先搜索:求解《675. 为高尔夫比赛砍树》
广度优先搜索,求解《675. 为高尔夫比赛砍树》
记忆化递归 + 状态压缩掩码:求解《464. 我能赢吗》
记忆化递归,状态压缩掩码,求解《464. 我能赢吗》
哈希集合、间隔、随机化:3 种方法求解《961. 在长度 2N 的数组中找出重复 N 次的元素》
哈希集合、间隔、随机化,3 种方法求解《961. 在长度 2N 的数组中找出重复 N 次的元素》
排序,二分查找:求解《436. 寻找右区间》
排序,二分查找(Python 的 bisect.bisect_left 和 Golang 的 sort.Search),求解《436. 寻找右区间》
快速排序(快速选择)优化:双指针、打乱数组、随机基准元素(随机数、中间数、中位数)、三路划分三指针:求解《462. 最少移动次数使数组元素相等 II》
快速排序(快速选择)的优化:双指针、打乱数组(Fisher–Yates shuffle 洗牌算法)、随机基准元素(随机数、中间数、中位数)、三路划分(三切分 / 三指针 / 三分查找)。求解《462. 最少移动次数使数组元素相等 II》。
排序、最小值,基于排序获取中位数:求解《1887. 使数组元素相等的减少操作次数》《453. 最小操作次数使数组元素相等》和《462. 最少移动次数使数组元素相等 II》
排序、最小值,基于排序获取中位数,求解《1887. 使数组元素相等的减少操作次数》《453. 最小操作次数使数组元素相等》和《462. 最少移动次数使数组元素相等 II》
二分查找:求解《668. 乘法表中第k小的数》
二分查找,求解《668. 乘法表中第k小的数》
递归、迭代:求解《953. 验证外星语词典》
递归、迭代两种方式,求解《953. 验证外星语词典》
Jarvis 凸包算法 + 向量叉积:求解《812. 最大三角形面积》
升序排列横坐标,横坐标相同,排列纵坐标,凸点算法筛选凸点,固定两点,三角形面积随第三点变化成凸曲线,找到极大点。求解《812. 最大三角形面积》
双指针,字符串截取、拼接:求解《面试题 01.05. 一次编辑》
双指针,字符串截取、拼接,2 解法求解《面试题 01.05. 一次编辑》
17131415上页下页