码迷,mamicode.com
首页 >  
搜索关键字:出栈    ( 1670个结果
ios ViewController 页面跳转
从一个Controller跳转到另一个Controller时,一般有以下2种:1、利用UINavigationController,调用pushViewController,进行跳转;这种采用压栈和出栈的方式,进行Controller的管理。调用popViewControllerAnimated方法...
分类:移动开发   时间:2015-07-02 20:52:09    阅读次数:490
HDU 4828 (卡特兰数+逆)
HDU 4828 Grids思路:能够转化为卡特兰数,先把前n个人标为0。后n个人标为1。然后去全排列,全排列的数列。假设每一个1的前面相应的0大于等于1,那么就是满足的序列,假设把0看成入栈,1看成出栈。那么就等价于n个元素入栈出栈,求符合条件的出栈序列,这个就是卡特兰数了。然后去递推一下解,过程...
分类:其他好文   时间:2015-07-01 13:48:15    阅读次数:128
暑期训练狂刷系列——Hdu 3506 Largest Rectangle in a Histogram (单调栈)
题目连接: http://acm.hdu.edu.cn/showproblem.php?pid=1506题目大意: 给出一个数列An,问以Ai为最小值的区间内有多少个元素?解题思路: 手动模拟一个栈。栈内元素为一个单调不递减序列。当新元素Ai需要进栈,如果栈顶元素大于Ai,弹出栈顶元素,直到栈...
分类:其他好文   时间:2015-07-01 11:50:27    阅读次数:111
求最长有效括号长度 java
题目:输入只包含圆括号的字符串,找出最长的合法括号子串的长度 比如: “(()”——》2,最长的有效子串是“()” “)()())”——》4,最长的有效子串是“()()” 解题思路: 如果输入是左括号就直接入栈,如果是右括号,如果此时栈为空或此时的栈顶不为左括号就不作处理同时把记录有效长度的临时变量置为0,如果栈顶为左括号则出栈并把记录有效长度的临时变量加2.最后返回最大的记录长...
分类:编程语言   时间:2015-07-01 10:09:33    阅读次数:234
Java实现栈和队列
栈:LIFO(后进先出)队列:FIFO(先进先出)栈的顺序存储结构实现:/** * 基于数组实现的顺序栈 * @param */public class Stack { private Object[] data = null; private int maxSize=0; //栈...
分类:编程语言   时间:2015-06-29 23:32:49    阅读次数:273
Stack栈 Heap堆
Stack(栈)栈(stack)又名堆栈,它是一种运算受限的线性表。其限制是仅允许在表的一端进行插入和删除运算。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素...
分类:其他好文   时间:2015-06-28 22:49:13    阅读次数:184
泛型容器单元(Generics.Collections)[3]: TStack<T> 堆栈列表
TQueue 和 TStack, 一个是队列列表, 一个是堆栈列表; 一个是先进先出, 一个是先进后出.TStack 主要有三个方法、一个属性:Push(压栈)、Pop(出栈)、Peek(查看下一个要出栈的元素);Count(元素总数).本例效果图:代码文件:unit Unit1;interface...
分类:其他好文   时间:2015-06-27 15:48:12    阅读次数:125
UVa - 1618 - Weak Key
要求找到4个整数Np、Nq、Nr、Ns(1<= p < q < r < s Ns > Np > Nr or Nq < Ns < Np < Nr。 先看第一种情况,下标第二大的,值最大,而下标第三大的,值最小,下标最小和最大的都插在了中间,确定这个要求后,先想到dfs求解,但是考虑到5000这个数量比较大,怕函数进出栈太慢。 直接枚举四个值时间复杂度又太高了,所以只枚举两个,枚举Ns和Np,然后记录找到Nq和Nr。 用了两个标记数组, l[i][j] 表示下标小于j且值比Ni大的...
分类:其他好文   时间:2015-06-26 16:23:30    阅读次数:115
栈的压入、弹出序列
【题目】输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二序列是否为第一个栈的出栈序列,假设入栈所有数字各不相等,例如: 入栈序列{1,2,3,4,5} 出栈序列1{4,5,3,2,1} 出栈序列2{4,3,5,1,2} 出栈序列1是入栈序列的其中一个弹出结果,序列2不是。【分析】 弹出序列第一个为4,所以要让栈顶元素为4时弹出,所以压入1,2,3,直到4出现在栈顶,序列1第二个为5...
分类:其他好文   时间:2015-06-24 18:59:46    阅读次数:94
二叉树的三种输出方式:递归、栈、循环
三种方法中,递归最为简单,栈次之,循环最为麻烦。递归的深度如果太大则会导致栈溢出;栈的方式需要额外的辅助空间;循环编程最麻烦。           首先是递归: //递归方法 void midPrint_r(TreeNode* root) {//中序遍历 if(root==NULL) return; if(root->left) midPrint(root->left); c...
分类:其他好文   时间:2015-06-21 10:39:45    阅读次数:109
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!