《剑指offer》之“包含min函数的栈”题解
题目: https://leetcode-cn.com/problems/bao-han-minhan-shu-de-zhan-lcof/ 解题思路: 题目要求实现一个包含min()函数的栈,min()函数的作用是返回栈中的最小值,因此我们可以想到使用一个辅助的数据结构来进行实现。 首先我们想到的是一个小根堆或者是一个排序的List,但是题目...
剑指 Offer 31:栈的压入、弹出序列
题目题目链接输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如,序列 {1,2,3,4,5} 是某栈的压栈序列,序列 {4,5,3,2,1} 是该压栈序列对应的一个弹出序列,但 {4,3,5,1,2} 就不可能是该压栈序列的弹出序列。示例 1:输入:pushed = [1,2,3,4,5], popped = [4,5,3,2,....
剑指 Offer 30:包含min函数的栈
题目题目链接定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的 min 函数在该栈中,调用 min、push 及 pop 的时间复杂度都是 O(1)。示例:MinStack minStack = new MinStack(); minStack.push(-2); minStack.push(0); minStack.push(-3); minStack.min(); -->...
剑指 Offer 09:用两个栈实现队列
题目题目链接用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 )示例 1:输入: ["CQueue","appendTail","deleteHead","deleteHead"] [[],[3],[],[]] 输出:[null....
【剑指offer】-包括main函数的栈-21/67
1. 题目描述定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。注意:保证测试中不会当栈为空的时候,对栈调用pop()或者min()或者top()方法。2. 题目分析该题有二种解决方法2.1 常规解决思路:在写min()方法的时候,建立一个辅助栈,将stack中的元素导入至辅助栈中,并且比较出来最小值,在从辅助栈导入至stack中。2.2 剑指....
【剑指offer】-栈的压入、弹出序列-20/67
1. 题目描述输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长度是相等的)2. 题目分析题目的大致意思是:给你一个栈压入序列A:1 2 3 4 5 ,让你判....
【剑指offer】-两个栈来实现一个队列-05/67
一 题目描述用两个栈来实现一个队列,完成队列的Push和Pop操作( 队列中的元素为int类型)。二 题目分析(一)题目思路用两个栈实现一个队列的功能?入队:将元素进栈A出队:判断栈B是否为空,如果为空,则将栈A中所有元素pop,并push进栈B,栈B出栈;如果不为空,栈B直接出栈。用两个队列实现一个栈的功能?入栈:将元素进队列A出栈:判断队列A中元素的个数是否为1,如果等于1,则出队列,否则将....
剑指 Offer 30. 包含min函数的栈
剑指 Offer 30. 包含min函数的栈定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的 min 函数在该栈中,调用 min、push 及 pop 的时间复杂度都是 O(1)。链接:https://leetcode-cn.com/problems/bao-han-minhan-shu-de-zhan-lcof/示例:MinStack minStack = new MinStack....
剑指offer(C++)-JZ31:栈的压入、弹出序列(数据结构-队列 & 栈)
题目描述:输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。1. 0<=pushV.length == popV.length <=10002. -1000<=p....
剑指offer(C++)-JZ9:用两个栈实现队列(数据结构-队列 & 栈)
题目描述:用两个栈来实现一个队列,使用n个元素来完成 n 次在队列尾部插入整数(push)和n次在队列头部删除整数(pop)的功能。 队列中的元素为int类型。保证操作合法,即保证pop操作时队列内已有元素。数据范围: n≤1000要求:存储n个元素的空间复杂度为 O(n) ,插入与删除的时间复杂度都是 O(1)示例:输入:["PSH1","PSH2","POP","POP"]返回值:1,2说明....
本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。
数据结构更多栈相关
算法编程
开发者社区在线编程频道官方技术圈。包含算法资源更新,周赛动态,每日一题互动。
+关注