
栈
Giotto_Ven
交大控制科学与工程研究生
展开
-
Python3-[28]面试题31.栈的压入、弹出序列(栈)
面试题31.栈的压入、弹出序列题目解题思路code1:借助队列code2:借助索引题目输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如,序列 {1,2,3,4,5} 是某栈的压栈序列,序列 {4,5,3,2,1} 是该压栈序列对应的一个弹出序列,但 {4,3,5,1,2} 就不可能是该压栈序列的弹出序列。解题思路借助一个辅助栈来模拟压入、弹出过程:依次压入,若能弹出当前元素就弹出,最后判断栈中是否还包含元素,若不包含则返回T,否则原创 2020-08-26 12:36:48 · 317 阅读 · 0 评论 -
Python3-[27]面试题30.包含min函数的栈(辅助同步栈)
面试题30.包含min函数的栈/最小栈题目解题思路代码题目设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。push(x) —— 将元素 x 推入栈中。pop() —— 删除栈顶的元素。top() —— 获取栈顶元素。getMin() —— 检索栈中的最小元素。解题思路由于查询最小元素需要常数时间,故不能使用查找算法,需要维护一个辅助栈(同步栈)辅助栈helper和data保持同步增长。对于辅助栈:if not self.helper or x < s原创 2020-08-26 00:01:06 · 191 阅读 · 0 评论