定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。 由于本身给了import java.util.Stack;所以感觉可以使用JDK自带的栈 思路:用两个栈进行记录,s1记录全部,s2记录各个时刻最小值 源码如下: 1 import java.ut ...
分类:
其他好文 时间:
2020-01-12 09:33:43
阅读次数:
78
题目描述 定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的 min 函数。 Stack.peek() peek()函数返回栈顶的元素,但不弹出该栈顶元素。 Stack.pop() pop()函数返回栈顶的元素,并且将该栈顶元素出栈。 public class Solution { priv ...
分类:
其他好文 时间:
2020-01-04 20:17:06
阅读次数:
75
题目描述 定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。 1 # -*- coding:utf-8 -*- 2 class Solution: 3 def __init__(self): 4 self.stack1=[] 5 self.stac ...
分类:
编程语言 时间:
2019-12-18 14:45:49
阅读次数:
70
题目描述 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 # -*- coding:utf-8 -*- # class ListNode: # def __init__(self, x): # self.val = x # self.next = Non ...
分类:
编程语言 时间:
2019-12-07 12:21:47
阅读次数:
104
题目描述 定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。 # -*- coding:utf-8 -*- class Solution: def __init__(self): self.stack = [] self.minstack = [] ...
分类:
编程语言 时间:
2019-12-06 11:51:33
阅读次数:
67
/* 题目: 定义栈的数据结构,实现一个能够得到栈的最小元素的min函数。 */ /* 思路: 错误思路:每次保存当前最小的元素,如果当前最小元素弹出,最小元素是谁? 正确思路:两个栈,一个栈保存数据,另一个栈用于存储当前最小元素。 */ #include <iostream> #include<c ...
分类:
其他好文 时间:
2019-11-25 23:25:07
阅读次数:
62
题目描述 定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。 思路 定义两个栈,一个保存正常的数据,另一个用来记录当前的最小元素 代码 # -*- coding:utf-8 -*- class Solution: def __init__(self ...
分类:
编程语言 时间:
2019-11-04 11:25:45
阅读次数:
62
1 栈与队列 1.1 包含min函数的栈 定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数 在该栈中,调用min、push和pop方法 要求时间复杂度均为O(1) 算法思想: 要求时间复杂度均为O(1),增加辅助空间实现,即增加一个专门用来存储min值的辅助栈 比如,data中依 ...
分类:
其他好文 时间:
2019-10-16 19:39:33
阅读次数:
69
题目描述 定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。 解题思路 要求在O(1)时间内完成,由于栈后进先出的原则,不能出现破坏栈结构的事情。因而采用以空间换时间的思路,建立辅助栈,辅助栈与数据栈的出入栈操作同步进行,区别在于数据栈压入当前元素 ...
分类:
其他好文 时间:
2019-10-05 12:53:17
阅读次数:
115
剑指offer 两道关于 数据结构——栈 的题目 1. 包含min函数的栈 简要分析一下这道题,这道题做了3遍才过,踩了一些小坑 看看示例: 得到了规律,那么关键部分的代码实现,就在于 两个栈(rawStack 和 minStack) 和 push() 方法 其他部分就比较简单 2. 栈的压入、弹出 ...
分类:
其他好文 时间:
2019-08-17 23:55:02
阅读次数:
211