LeetCode 33. 搜索旋转排序数组 33. 搜索旋转排序数组解题思路利用 153. 寻找旋转排序数组中的最小值 思路 根据旋转数组中最小元素的索引,去判断 target 在左区间还是右区间,最后进行二分查找 2026-02-08 LeetCode #二分查找 #数组
LeetCode 34. 在排序数组中查找元素的第一个和最后一个位置 34. 在排序数组中查找元素的第一个和最后一个位置解题思路两次二分,第一次专门找左边界,第二次专门找右边界;每次命中 target 时不直接返回,而是继续向目标边界方向收缩区间,直到循环结束,最后一次命中的位置就是边界 2026-02-08 LeetCode #二分查找 #数组
LeetCode 347. 前 K 个高频元素 347. 前 K 个高频元素解题思路构建小根堆,堆顶元素为当前出现频率最低的元素,当堆中元素个数超过 k 时,弹出堆顶元素。最后堆中剩余的 k 个元素即为出现频率最高的 k 个元素。 2026-02-08 LeetCode #排序 #数组 #哈希表 #分治 #计数 #快速选择 #堆(优先队列) #桶排序
LeetCode 39. 组合总和 39. 组合总和解题思路从 start 下标开始遍历候选数,每次可选当前数「可重复选,因此递归仍传当前下标 i」并扣减目标值,目标值为 0 时记录组合,回溯后尝试下一个数,避免重复组合 2026-02-08 LeetCode #数组 #回溯
LeetCode 394. 字符串解码 394. 字符串解码解题思路 只要字符不是右括号 ']',就将其压入栈中,直到遇到右括号 ']'。 此时需要将栈顶的字符串弹出,直到遇到左括号 '[',弹出的字符串即为需要重复的字符串。 接着继续弹出数字字符,计算出需要重复的次数。最后将重复后的字符串重新压入栈中。 当数字解析完毕之后,根据 [] 内的字符串和重复次数构造出新的字符串,并将其压入栈中 2026-02-08 LeetCode #栈 #字符串 #递归