monotonic :单调,递增或递减
这是一个看起来很简单的资料结构,
拥有 O(N) time complexity 的优秀特性,
但要能实际应用在问题里却不是很容易,
如果是用 heap 的题目,可以思考是否可以转为使用 monotonic stack。
优点:linear time complexity
所有的元素最多只会进去一次,也最多只会出去一次。
Monotonic
元素 push 上 stack 前,会把破坏此 stack 单调性质(递增或递减)的元素移除。(LIFO)
可以找到目前元素向左看(for all i < current_i)第一个比他小 / 大的元素
可以找到 目前为止最大的数
某些元素因为不符合和现元素相比的某个条件,在未来不会被用到了,可被舍弃。
某些元素被舍弃时,可能是答案。[[1944. Number of Visible People in a Queue]]
一个递增的 monotonic stack,新增 a 进去,top 为顶元素。
对这些被 pop 的元素来说,a 是在他们右侧第一个比他们小的元素
今天要让电脑说泥豪 printf() stdio.h 中的函式,可以把 字串 显示到程序的视窗上 字...
这篇文章会介绍addEventListener事件处理函式,它其实和event的监听事件很像,但是a...
今天比较简短,用talib弄个抛物线指标(Parabolic SAR) https://mrjbq7...
前天我们介绍了 useReduecer 的基本使用方式,跟 useState 相比起来复杂许多,那究...
UITableView可以将资料以条列的方式显示出来,使我们能更清楚的看到这些资料,而且也比较美观!...