LC496
下一个更大元素 I
单调栈 · 下一个更大 I可视化:单调栈/队列nums1=[4,1,2],nums2=[1,3,4,2] 对应 next greater。
时间 O(n)空间 O(1)
题目1 / 10
题目与输入建立输入、目标与算法心智
从右向左扫描
正在加载算法场景...
当前发生了什么
nums1=[4,1,2],nums2=[1,3,4,2] 对应 next greater。
机器状态
栈、答案 map。
为什么正确
对 nums2 单调栈,遇更大弹栈记录答案;map 值→nextGreater。
不变量
栈维护递减,弹出时栈顶 next greater 是当前。
面试怎么说
单调栈+哈希 O(n)。
人类输入
nums1=[4,1,2],nums2=[1,3,4,2] 对应 next greater。
机制
对 nums2 单调栈,遇更大弹栈记录答案;map 值→nextGreater。
机器状态
栈、答案 map。
可观察结果
nums1 对应 next greater。
不变量
- · 栈维护递减,弹出时栈顶 next greater 是当前。
常见误区
- · O(n) 预处理 nums2。
迁移练习
- · LC503 循环
- · LC739 温度
面试怎么答
单调栈+哈希 O(n)。