摘自《程序员面试金典》我们首先最容易想到的就是固定分割的方法:将数组等分为3分,每一份均可以被看做一个栈,然后可以在每个栈上执行出入栈的操作。这种方法优点是比较直接,实现简单。当然缺点是不够灵活,有可能一个栈出现了空间溢出的情况,而其他栈还是空的状态。 下面说下实现的思路,首先对于长度为n的数...
分类:
编程语言 时间:
2015-07-29 11:49:37
阅读次数:
109
题意:一群屌丝排队参加联谊,每个人都有屌丝值,如果他是第k个进场的,那么他的愤怒值就是(K-1)*Di,主办方想使所有屌丝的愤怒值总和最小,就用一个黑屋子来改变屌丝的进场顺序,黑屋子实际上是一个栈,先进后出。现在要求用这个栈能得到的最小的愤怒值总和是多少。
分析:
难点在于你不知道用了多少次黑屋子、用在哪些人身上以及每次各自进黑屋子的人数。很容易知道每个决策都会影响最终结果,那么我们就想用dp...
分类:
其他好文 时间:
2015-07-28 01:01:40
阅读次数:
154
这几天突然很想弄明白c函数调用时栈的使用情况,上网查了一下资料,自已也研究了一下,这篇blog就把我的所得记录下来吧。这篇blog试图讲明当一个c函数被调用时,一个栈帧(stack frame)是如何被建立,又如何被消除的。这些细节跟操作系统平台及编译器的实现有关,下面的描述是针对运行在Intel奔...
分类:
其他好文 时间:
2015-07-27 18:27:38
阅读次数:
117
Remove Element这道题和Remove Duplicates from Sorted Array类似,不同的是这里只要删除值等于给定值的元素即可,可以采用和前面的题相同的做法:可以将原来的数组看作一个栈,设定一个栈顶指针,在对数组进行遍历的时候,判断元素是否等于给定值,如果等于,则直接进行数组的下一个元素,如果不等于,则将该元素放入到栈顶,然后更新指针并处理数组的下一个元素。...
分类:
其他好文 时间:
2015-07-26 15:50:52
阅读次数:
132
转载请注明出处:http://blog.csdn.net/ns_code/article/details/25076689 题目:用两个队列模拟一个栈,即用两个队列的出队和入队操作。来实现栈的出栈和入栈操作。 思路:略微画下草图。便不难想出该题的解决方法。思路例如以下: 如果有两个队列Q1和Q...
分类:
其他好文 时间:
2015-07-25 16:36:14
阅读次数:
136
相对于逆波兰表达式的转换,逆波兰表达的计算可谓简单不少。具体计算方法参考:http://www.cnblogs.com/vpoet/p/4659546.html这里也大致梳理一下:1.新建一个栈将逆波兰表达式的数字依次压入栈中2.当遇到运算符时,出栈两个数同时将运算结果压栈3.重复步骤2直到计算计算...
分类:
其他好文 时间:
2015-07-25 00:03:28
阅读次数:
209
// hdu3410 Passing the Message 单调栈
// 题目意思:给你n个数,询问第i个数直到左边比它本身大的第一个数的这段
// 区间内求一个最大的值 和 直到右边比它本身大的数的第一个数的这段区间内
// 再求一个最大值。
// 解题方法:
// 单调栈,维护一个栈,使得站内元素单调递减即离栈顶越近,值越小
// 从左往右扫一遍,最后一个比当前元素小的数组下标(出栈的元...
分类:
其他好文 时间:
2015-07-23 21:51:07
阅读次数:
123
双栈排序题目描述请编写一个程序,按升序对栈进行排序(即最大元素位于栈顶),要求最多只能使用一个额外的栈存放临时数据,但不得将元素复制到别的数据结构中。给定一个int[]numbers(C++中为vector),其中第一个元素为栈顶,请返回排序后的栈。请注意这是一个栈,意味着排序过程中你只能访问到第一...
分类:
编程语言 时间:
2015-07-18 15:28:53
阅读次数:
152
PHP的数组处理函数还可以将数组实现队列,堆栈是“先进后出”。在堆栈中,最后压入的数据(进栈),将会被最先弹出(出栈)。而队列是先进先出,就如同银行的排号机
PHP中将数组当做一个栈,主要是使用array_push()和array_pop()两个系统函数来完成。入栈主要是利用array_push()函数向第一个参数的数组尾部添加一个或多个元素,然后返回新数组的长度,示例如...
分类:
编程语言 时间:
2015-07-16 16:47:50
阅读次数:
201
//取vector作为一个栈,然后不断读取和pop。先把乘积或商算好再存入栈中
//ps.好久没有不参考别的直接自己写出AC代码了...各种bug...果然要好好练...
//1.考虑空格情况;2.考虑数位情况;3.考虑index的边界情况
class Solution {
public:
int calculate(string s) {
int len=s....
分类:
其他好文 时间:
2015-07-16 14:10:51
阅读次数:
104