Yinchen 的博客
首页
分类
归档
关于
首页
分类
归档
关于
登录
分类:题解
清除筛选
Leetcode 34 在排序数组中查找元素位置:二分
2026/08/10
题解
LC34 在排序数组中查找元素的第一个和最后一个位置 模板 lowerBound(左边界,第一个 >= target): upperBound(右边界,最后一个 = target 的位置。 核心在于 mid 的计算和区间的收缩方向。mid = l + (r - l) / 2,不 +1,mid 倾向于靠左。 当 nums[mid] >= target:mid 本身可能是答案 → r = mid,区间
Leetcode 42 接雨水 :单调栈
2026/08/03
题解
LeetCode 42. 接雨水 一、题目解析 1.1 题目描述 给定 n 个非负整数表示每个宽度为 1 的柱子的高度,计算按此排列的柱子下雨之后能接多少雨水。 输入是一个数组 heights,输出是积水总量。 1.2 示例 问题本质:对于每一段凹槽(两个较高的柱子夹着较低的柱子),接水量取决于左右两边较矮的那根柱子与槽底的差值,再乘以宽度。 二、思路分析 2.1 接水的条件 能接水的场景可以描述
Leetcode 795 区间子数组个数:单调栈
2026/08/03
题解
https://leetcode.cn/problems/number-of-subarrays-with-bounded-maximum/description/ 一、题目解析 1.1 题意 给一个整数数组 nums 和两个整数 left、right。求所有连续非空子数组中,最大值落在 [left, right] 内的子数组个数。 1.2 核心思路 每个子数组有唯一的最大值(值相同时取最左边那个
Leetcode 039 最大矩形面积:单调栈
2026/08/03
题解
https://leetcode.cn/problems/0ynMMM/description/ 一、题目解析 1.1 题意 给一个非负整数数组 heights,每个元素表示柱状图中一根宽度为 1 的柱子高度。求能勾勒出的最大矩形面积。 最大矩形由高度 5 和 6 的两根柱子并排构成:高 5(受限于较矮的那根)、宽 2,面积 10。 1.2 核心问题 一根柱子能"撑起"多大的矩形,取决于它向左右能
Leetcode 901:单调栈
2026/08/02
题解
LeetCode 901. 股票价格跨度 一、题目解析 1.1 题目描述 设计一个 StockSpanner 类,每次调用 next(price) 时,返回当天股票价格的跨度。 "跨度"的定义:从今天往回数,连续有多少天的股价 ≤ 今天的价格(含今天)。 换句话说,对于每一天,找到左边第一个比它大的那天,两者之间的天数就是跨度。 1.2 示例走一遍 天数 价格 为什么是这个跨度
LeetCode 036:逆波兰表达式求值,策略模式求解
2026/07/31
题解
https://leetcode.cn/problems/8Zf90G/description/ 一、题目解析 1.1 题意 逆波兰表达式(Reverse Polish Notation),说白了就是把运算符写在两个操作数后面。比如中缀 (2+1)3 写成后缀就是 ["2","1","+","3",""]——2 1 + 表示 2+1。 逆波兰的好处是没有括号,也不用考虑优先级——顺序本身就编码了计
LeetCode 25:K 个一组反转链表
2026/07/31
题解
https://leetcode.cn/problems/reverse-nodes-in-k-group/description/ 一、题目解析 1.1 题意 给定链表头节点 head 和整数 k,每 k 个节点一组进行反转,返回反转后的链表。如果最后一组不足 k 个,保持原顺序。 核心操作:把链表按 k 个切成段,每段递归反转,再串回去。 二、递归反转模板 先看单链表反转的递归写法——后续分段
LeetCode 206:反转链表
2026/07/30
题解
https://leetcode.cn/problems/reverse-linked-list/description/ 一、题目解析 1.1 题意 给定单链表的头节点 head,反转链表,返回反转后的头节点。原链表尾节点变成新头,每个节点的 next 指针反向指向前驱。 链表节点定义是标准的 ListNode,有 val 和 next 两个字段。 二、递归解法一:类变量存新头 思路:递归走到链
上一页
2
/ 3
下一页