找手机游戏就上融易行 专业手游媒体门户网站!

游戏更新 | 安卓游戏 | 苹果游戏 | 推荐游戏 | 软件更新 | 文章更新 | 热门文章 | 推荐文章

休闲小栈是什么意思(小栈是什么意思网络用语)

时间:2024-02-17 12:26:24    编辑:azu

休闲小栈是什么意思

1.最小堆栈是多少?有哪些应用场景?如何实现最小栈且get_min的时间复杂度为O(1)?算法思想算法实现图

2.最小堆栈是多少?

休闲小栈是什么意思

3.最小堆栈也是一个堆栈(所有存储的元素都是数字),但这个数据结构与普通堆栈有相同的方法,如push、pop和top,并且还有一个获取当前堆栈中最小元素的方法。

4.我还没想好

5.首先,必须有一个变量来保存最小元素值或间接保存最小元素值。那么这个变量是什么呢?列表、字典还是其他?

休闲小栈是什么意思

6.逐步分析,如何在不影响push、pop和top操作的情况下获得最小值,那么有两个数据需要保存:元素的值(这样pop和push的操作就不会受到影响)和实时最小元素(这必须是一个不断变化的值)。

7.如果保存的最小值由数组保存,则在执行push和pop时,数组将相应地更新。这肯定无法在O(1)的时间复杂度内完成。如果我们不能直接保存元素,那么我们可以保存堆栈中的元素与最小元素之间的关系,这样我们就可以在执行pop和push时进行计算和保存,同时还有一个保存实时最小值的变量,这样我们就可以在O(1)时间内获得最小元素。

8.想法已经说了,如何实施呢?第一次推时,将此元素作为最小元素min。在后续的push操作中,首先判断当前元素是否小于,如果不小于,则将元素值存储在堆栈中(此值必须大于0,因为num大于min);如果num小于min,也将其存储在堆栈中(小于0),并记住更新该值。弹出时,首先判断栈顶的元素数据是否大于0。如果大于0,则pop的值应为(因为保存时是);如果小于0,应该是在pop的时候,min应该同时更新。同时get_min _ min时直接返回min的值是整个栈元素中的最小值。

9.实施结果:

休闲小栈是什么意思

最新游戏

玩家评论