Hot 100 --- 数组中的第K个最大元素
本文讲解数组中的第K个最大元素的核心思路:维护大小为 k 的最小堆,动态保留前 k 大的元素,堆顶即答案,O(n log k)
Hot 100 --- 柱状图中最大的矩形
本文讲解柱状图中最大的矩形的核心思路:用单调递增栈一次遍历找到每根柱子的左右边界,从 O(n²) 降到 O(n)
Hot 100 --- 最小栈
本文讲解最小栈的核心思路:用辅助栈记录每个时刻的最小值,实现 O(1) 获取最小值
Hot 100 --- 有效的括号
本文讲解有效的括号的核心思路:用栈实现括号的匹配,左括号入栈,右括号出栈匹配
Hot 100 --- 寻找两个正序数组的中位数
本文讲解寻找两个正序数组的中位数的核心思路:在较短数组上二分切割,保证左边元素都小于右边元素
Hot 100 --- 寻找旋转排序数组中的最小值
本文讲解寻找旋转排序数组中的最小值的核心思路:两种方法——两次二分查找和一次二分查找
Hot 100 --- 搜索旋转排序数组
本文讲解搜索旋转排序数组的核心思路:两种方法——两次二分查找和一次二分查找
Hot 100 --- 在排序数组中查找元素的第一个和最后一个位置
本文讲解在排序数组中查找元素的第一个和最后一个位置的核心思路:通过两次二分查找分别定位左右边界
Hot 100 --- 搜索二维矩阵
本文讲解搜索二维矩阵的核心思路:利用矩阵完全递增的性质,通过两次二分查找快速定位目标值
Hot 100 --- N 皇后
本文以LeetCode题目"N皇后"为例,讲解如何从暴力DFS优化到按行选择+对角线剪枝的回溯解法

