一文带你读懂:最小栈问题_python

 

大佬你知道最小栈问题吗?

一文带你读懂:最小栈问题_python_02

一文带你读懂:最小栈问题_python_03

你说的是小詹吗,就是那个学python的。

一文带你读懂:最小栈问题_python_04

一文带你读懂:最小栈问题_python_05

我说的是栈的问题,看来大佬不知道呢。

一文带你读懂:最小栈问题_python_02

一文带你读懂:最小栈问题_python_03

嗯?拉黑,漂流瓶联系。

一文带你读懂:最小栈问题_python_04

一文带你读懂:最小栈问题_python_09

是这样的,昨天一个妹子问我,我想了一下,我再来问问大佬。

一文带你读懂:最小栈问题_python_02

一文带你读懂:最小栈问题_python_03

哦哦,好,我的鸡腿还要打包,你说说你的想法。

一文带你读懂:最小栈问题_python_04

一文带你读懂:最小栈问题_python_13

 

设一个变量int min = -1; 当一个元素进入栈时,把最小值的下标记录成0,后面进来的数和stack[min]做比较,如果大于等于当前的最小值,那就不做变动,如果小于的话就把最小值的下标写成比当前最小值小的那个下标。我还有图解。


 

一文带你读懂:最小栈问题_python_02

一文带你读懂:最小栈问题_python_03

好啊,我看看。

一文带你读懂:最小栈问题_python_04

一文带你读懂:最小栈问题_python_17

一文带你读懂:最小栈问题_python_18

大佬你怎么说

一文带你读懂:最小栈问题_python_19

一文带你读懂:最小栈问题_python_05

不错啊,会独立思考了呢,不过你没考虑过出栈的情况啊,你一个变量肯定只能记录一个值啊。如果最小值出栈了,那不是没有最小值了蛮。

一文带你读懂:最小栈问题_python_21

一文带你读懂:最小栈问题_python_22

emmm,大佬还是你考虑周到。

一文带你读懂:最小栈问题_python_19

一文带你读懂:最小栈问题_python_03

那你在想想看呢。

一文带你读懂:最小栈问题_python_21

一文带你读懂:最小栈问题_python_13

。。。

一文带你读懂:最小栈问题_python_19

一文带你读懂:最小栈问题_python_28

加油哦。

一文带你读懂:最小栈问题_python_21

一文带你读懂:最小栈问题_python_22

我想到了呢,我在声明一个栈(B)存储最小值的下标。第一个元素的下标直接进入B,后面入栈如果小于最小值,则把下标放进B。出栈时如果最小值出栈,那么相应下标也要从B中出栈。我的图有例子。

一文带你读懂:最小栈问题_python_19

一文带你读懂:最小栈问题_python_05

哎呦,不错。

一文带你读懂:最小栈问题_python_21

一文带你读懂:最小栈问题_python_22

 

一文带你读懂:最小栈问题_python_35

这回没问题了吧,嘿嘿

一文带你读懂:最小栈问题_python_19

一文带你读懂:最小栈问题_python_03

可以啊现在,你才是大佬啊

一文带你读懂:最小栈问题_python_21

一文带你读懂:最小栈问题_python_22

好开心,搞定了,走吃鸡腿去

一文带你读懂:最小栈问题_python_19

一文带你读懂:最小栈问题_python_05

我还要打个包哦

一文带你读懂:最小栈问题_python_21

一文带你读懂:最小栈问题_python_43

 

 

 

 

 

一文带你读懂:最小栈问题_python_44