package
0.0.0-20241220224003-b7cf03a90b2b
Repository: https://github.com/szhou12/leetcode-go.git
Documentation: pkg.go.dev
# README
496. Next Greater Element I
Solution idea
Naive approach - map
这道题的暴力解法很好想到,就是对每个元素后面都进行扫描,找到第一个更大的元素就行了
Time complexity = $O(n^2)$
Stack
- 栈顶元素的物理意义: 维护栈顶元素, 使得它总是大于当前元素
Time complexity = $O(n)$
分析它的时间复杂度,要从整体来看:总共有 n 个元素,每个元素都被 push 入栈了一次,而最多会被 pop 一次,没有任何冗余操作。所以总的计算规模是和元素规模 n 成正比的,也就是 $O(n)$ 的复杂度。