
栈
ITWUYI
这个作者很懒,什么都没留下…
展开
-
算法(3):包含main函数的栈问题
包含main函数的栈问题知识点 该问题的时间复杂度是O(1)内。 如果直接使用一个int变量存储当前的最小值,我们的确可以获得最小值,但是当栈pop()了以后,我们无法获得次小值。我们需要一个数据结构来动态保存每个时刻的最小值,每当push()和pop()的时候,同样更新这个数据结构,而且时间复杂度也是O(1),那么看来需要额外O(n)的空间了。可以选择栈或者一个链表(实质上当作栈使用)。我们使用一个辅助栈来实现,该栈和主栈的大小相同,栈顶存放的是当前栈内的最小值。 代码实现: public class S原创 2020-10-20 10:29:03 · 391 阅读 · 0 评论 -
数据结构(1):栈
数据结构之栈知识点 1、静态栈(用数组实现) 代码实现: public class StackDemo { private int size;//大小或者容量 private long arr[];//容器 private int top;//栈顶 public StackDemo(int maxsize){ this.size = maxsize; this.arr = new long[maxsize]; //初始化栈顶,表原创 2020-10-19 23:51:06 · 229 阅读 · 1 评论