![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
Sun Jiakai_凯
做一只积极且上进的程序猿,读温柔的句子,见阳光的人,眼里全是温柔和笑意!
展开
-
Acwing_42 栈的压入、弹出序列
Acwing_42 栈的压入、弹出序列 解题思路: 1、如果当前压入辅助栈helpStack的栈顶元素的值与弹出序列的index下标所指的元素的值相同,那么将辅助栈的栈顶元素弹出,并且index++,向后移动一位 2、如果当前压入辅助栈helpStack的栈顶元素的值与弹出序列的index下标所指的元素的值不相同,那么继续将压入序列中的元素压入辅助栈中,直到相同为止 3、如果最终辅助栈中为空,没有任何元素则返回true public class A_42 { private static Sta原创 2021-07-20 23:06:54 · 64 阅读 · 0 评论 -
Acwing_41_包含min函数的栈
Acwing_41 包含min函数的栈 设计一个支持push,pop,top等操作并且可以在O(1)时间内检索出最小元素的堆栈 public class A_41 { private static Stack<Integer> stack = new Stack<Integer>(); private static Stack<Integer> help = new Stack<Integer>(); /** * 将元原创 2021-07-19 00:00:45 · 58 阅读 · 0 评论 -
用一个栈实现另一个栈的排序
用一个栈实现另一个栈的排序 解题思路: stack:要被排序的栈 helpStack: 申请的辅助栈 cur: 当前弹出的元素 1、如果 cur 小于或等于 help 的栈顶元素,则将 cur 直接压入help栈 2、如果 cur 大于 help 的栈顶元素,则将 help 的元素逐一弹出,逐一压入 stack栈中,直到 cur 小于或等于 help 的栈顶元素,再将cur压入help栈中 public class MyStack2 { public static void main(原创 2021-07-17 17:35:37 · 104 阅读 · 0 评论 -
用递归函数和栈操作逆序一个栈
用递归函数和栈操作逆序一个栈 public class MyStack1 { /** * 将栈的栈底元素返回并移除 * @return */ public static int getAndRemoveLastElement(Stack<Integer> stack){ int result = stack.pop(); if (stack.empty()){ return result;原创 2021-07-03 20:14:47 · 63 阅读 · 0 评论 -
稀疏数组和二维数组之间的转换
稀疏数组和队列 1、稀疏数组 1.1 基本介绍 当数组中的大部分元素为 0 ,或者为同一个值的数组时,可以使用稀疏数组来保存该数组原创 2021-02-06 17:24:21 · 95 阅读 · 0 评论