题目 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 解题思路 用一个栈A来保存入栈,当要出栈的时候,将栈A的元素按照栈后进先出的特点转移到栈B中(此时栈A为空了) 此时栈B中元素的保存顺序就是从上到下按照元素的进入顺序排列的,队列的pop操作只要按顺序拿取栈B ...
分类:
其他好文 时间:
2019-06-22 15:44:20
阅读次数:
100
T1:Censoring 和以前kmp一样的一道题,只是改成了多个串需要AC自动机 用一个栈维护当前字符串,匹配上了就暴力弹栈,并将指针回溯,复杂度O(n+m) 这题考试的时候不知道怎么把栈给否掉了,用了个玄学方法记录,只干出来13分 T2:记忆的轮廓 概率期望,考试时候直接弃了(主要是无良老师数据 ...
分类:
其他好文 时间:
2019-06-17 11:10:57
阅读次数:
109
此区域是用于程序指令执行 虚拟机栈(FILO):java方法执行的内存模型。 栈帧(线程执行的一个方法的内存模型,每调用一个方法,压入一个栈帧) 局部变量表:编译器可知的8种基本类型、reference类型、returnAddress类型 操作数栈:一个用于计算的临时数据存储区(明显,此栈是为了存放 ...
分类:
编程语言 时间:
2019-06-17 00:56:56
阅读次数:
151
1. 内存模型以及分区,需要详细到每个区放什么。 栈区: 栈分为java虚拟机栈和本地方法栈 重点是Java虚拟机栈,它是线程私有的,生命周期与线程相同。 每个方法执行都会创建一个栈帧,用于存放局部变量表,操作栈,动态链接,方法出口等。每个方法从被调用,直到被执行完。对应着一个栈帧在虚拟机中从入栈到 ...
分类:
其他好文 时间:
2019-06-13 00:32:04
阅读次数:
100
Problem: 如何仅用队列结构实现栈结构? Solution: 队列是先进先出,而栈是先进后出 故使用两个队列来实现一个栈的功能 一个存放原来的数据, 另一个做数据倒腾的容器 Code: Problem2: 如何仅用栈结构实现队列结构? 解题思路: 同样的,使用两个栈Data,Temp来实现列表 ...
分类:
其他好文 时间:
2019-06-07 15:35:30
阅读次数:
103
1.一个栈的进栈序列是a,b,c,d,e,则栈的不可能的输出序列是 A.edcba B.decba C.dceab D.Abcde 答:C 2. 己知循环队列存储在一维数组A[O…n-1]中,且队列非空时front和rear分别指向队头元素和队尾元索。若初始时队列为空,且要求第1个进入队列的元素存储 ...
分类:
编程语言 时间:
2019-06-06 14:19:10
阅读次数:
206
一.运行时数据区 共分为5块: 程序计数器 (线程私有,当前线程所执行的字节码的行号指示器) Java虚拟机栈 (线程私有,证明周期与线程相同,描述的是Java方法执行的内存模型,每个方法在执行的同时都会创建一个栈帧,用于存储:局部变量表、操作数栈、动态链接、方法出口等信息) 本地方法栈 (线程私有 ...
分类:
编程语言 时间:
2019-06-04 11:07:23
阅读次数:
105
lc316 Remove Duplicate Letters 我们用一个栈来保存最终的返回结果, 现在来看看什么时候能删除一个元素,bcabc走到a的时候发现c大于a而且a后还有c,所以可以删除 由此可见,当array[i]之前的字母较大,且在i之后还有重复的字母,就能删除 如何实现这个逻辑呢? 1 ...
分类:
其他好文 时间:
2019-06-03 12:55:14
阅读次数:
80
4.介绍一下java的数据结构,然后手写一个栈的类 主要可以分为两类: 1)Java中定义了一个接口collection,用来存储一个元素集合 2)另一种是定义了映射(map)用来存储键/值对。 Collection接口为线性表(list)、向量(vector)、栈(stack)、队列(queue) ...
分类:
其他好文 时间:
2019-05-29 23:35:57
阅读次数:
148
第一部分:线程 什么是线程? 线程其实可以理解为一段正在执行中的代码,它最少由一个线程内核对象和一个栈组成。 线程之间是没有从属关系的,同一进程下的所有线程都可以访问进程内的所有内容。 主线程其实是创建进程时创建的线程,主线程一旦退出,所有子线程也会退出。 线程其实可以理解为一段正在执行中的代码,它 ...
分类:
编程语言 时间:
2019-05-28 17:01:37
阅读次数:
121