二分查找(对数运算 + 前缀和),滑动窗口:求解《713. 乘积小于 K 的子数组》
根据对数运算性质将相乘转为求和问题,用前缀和优化。二分查找,滑动窗口,求解《713. 乘积小于 K 的子数组》
哈希表、队列、约瑟夫环的迭代和递归,动态规划求解《1823. 找出游戏的获胜者》和《剑指 Offer 62. 圆圈中最后剩下的数字》
哈希表、队列、递归、迭代,用约瑟夫环的递推公式,求解《1823. 找出游戏的获胜者》和《剑指 Offer 62. 圆圈中最后剩下的数字》
自定义排序:求解《937. 重新排列日志文件》
自定义排序和 Golang 的字符串分割函数,求解《937. 重新排列日志文件》
消元法,正则和栈:求解《591. 标签验证器》
消元法,正则和栈,求解《591. 标签验证器》
JavaScript、Golang 手写实现优先队列,PHP 重载 SplPriorityQueue 的 compare ,求解《23. 合并K个升序链表》和《剑指 Offer II 078. 合并排序链表》
JavaScript、Golang 手写实现优先队列,PHP 重载 SplPriorityQueue 的 compare 方法实现最小堆,求解《23. 合并K个升序链表》和《剑指 Offer II 078. 合并排序链表》
递归和双指针迭代:求解《21. 合并两个有序链表》和《剑指 Offer 25. 合并两个排序的链表》
递归和双指针迭代,求解《21. 合并两个有序链表》和《剑指 Offer 25. 合并两个排序的链表》
顺序遍历:求解《1669. 合并两个链表》
顺序遍历,求解《1669. 合并两个链表》
双指针合并有序数组:求解《88. 合并两个有序数组》和《面试题 10.01. 合并排序的数组》
双指针合并有序数组(合并数组),注意数组越界不同语言的处理方式。求解《88. 合并两个有序数组》和《面试题 10.01. 合并排序的数组》
二维数组自定义函数排序 + 栈:按二维数组自定义函数升序排序,使用栈合并区间,求解《56. 合并区间》和《剑指 Offer II 074. 合并区间》
按二维数组自定义函数升序排序,使用栈合并区间,求解《56. 合并区间》和《剑指 Offer II 074. 合并区间》
排序、贪心、滑动窗口:求解《908. 最小差值 I》《910. 最小差值 II》和《1984. 学生分数的最小差值》
排序、贪心、滑动窗口,求数组指定加减 k 值或 k 范围内的最小差值问题。求解《908. 最小差值 I》《910. 最小差值 II》和《1984. 学生分数的最小差值》
181617182226上页下页