399. 除法求值

399. 除法求值 399. 除法求值 ✨核心逻辑 本题可以转换为 图论 + BFS(广度优先搜索) 的问题: 构建加权有向图:将每个变量看作图中的一个节点,除法关系看作两个节点之间的有向边,values[i] 就是边的权重。例如 a / b = 2.0,说明 a -> b 的权重为 2.0,同时


201. 数字范围按位与

201. 数字范围按位与 201. 数字范围按位与 [此处请插入:二进制公共前缀匹配过程示意图] ✨核心逻辑 本题采用 寻找公共前缀(位移法) 的策略: 核心规律:对区间 [left, right] 内的所有数字进行按位与运算,结果实际上等于 left 和 right 的二进制公共前缀,然后在后面补


137. 只出现一次的数字 II

137. 只出现一次的数字 II 137. 只出现一次的数字 II ✨核心逻辑 本题采用 按位统计 + 模 3 还原(位运算) 的策略: 统计每一位:由于其他数字都出现了 3 次,它们在二进制表示下,每一个比特位 1 的个数总和必定是 3 的倍数。 取模剥离:我们遍历整数的 32 位,统计数组中所有


50. Pow(x, n)

50. Pow(x, n) 50. Pow(x, n) ✨核心逻辑 本题采用 快速幂(二进制指数法 / 折半计算) 的策略: 边界处理与负数幂:如果指数 n 是负数,则需要将底数 x 变为其倒数 1/x,同时将指数变为正数。这里必须将 n 赋值给一个 long 类型变量 N,因为 n = -2147


172. 阶乘后的零

172. 阶乘后的零 172. 阶乘后的零 ✨核心逻辑 本题采用 数学规律(因子分解) 的策略: 统计因子 5 的数量:尾随零的个数取决于阶乘中因子 10 的个数,而 10 = 2 × 5。在阶乘的连乘中,因子 2 的个数远远多于因子 5 的个数。因此,尾随零的个数 == 因子 5 的个数。 逐层累


133. 克隆图

133. 克隆图 133. 克隆图 ✨核心逻辑 本题采用 深度优先搜索(DFS)+ 哈希表备忘录 的策略: 处理环与重复访问:图是可能包含环的,因此在克隆过程中,如果遇到已经被克隆过的节点(即 visited 哈希表中已经存在),直接返回之前克隆的节点,防止陷入死循环。 节点克隆:对于每一个新遇到的


207. 课程表

207. 课程表 207. 课程表 [此处请插入:拓扑排序(BFS)执行流程图 / DFS 环检测示意图] ✨核心逻辑 本题提供了两种经典的图论解决方案:拓扑排序(BFS) 和 深度优先搜索(DFS)。 ✨思路一:BFS(拓扑排序 + 入度表) 入度统计:统计每一门课程依赖的前置课程数量(入度)。


130. 被围绕的区域

130. 被围绕的区域 130. 被围绕的区域 ✨核心逻辑 本题采用 边界搜索(DFS)+ 标记法 的策略: 边界不可围:根据题目规则,与矩阵边界相连的 'O' 是无法被 'X' 包围的,必须保留。 从边界向内搜索:遍历矩阵的四个边界(上下左右四条边)。一旦发现边界上的位置是 'O',就以此位置为起


200. 岛屿数量

200. 岛屿数量 200. 岛屿数量 ✨核心逻辑 本题采用 深度优先搜索(DFS) + 沉岛策略 的方法: 边界判断:如果网格为空,直接返回 0。 遍历寻找岛屿:遍历二维数组的每一个位置。当遇到一个 '1' 时,说明发现了一个新的岛屿,岛屿数量 count 加 1。 DFS 标记淹没:对发现的岛屿


452. 用最少数量的箭引爆气球

452. 用最少数量的箭引爆气球 452. 用最少数量的箭引爆气球 [此处请插入:排序后的气球区间与贪心射箭重叠示意图] ✨核心逻辑 本题采用 贪心算法 的策略: 按右边界排序:将所有气球的区间按照 右边界(结束坐标) 升序排列。这样可以保证每次射出的箭,都能尽可能靠右,从而最大可能地覆盖后续重叠的