问题描述: 中缀表达式计算,只包含加减乘除以及括号,例如: 2+3*4-5/2 = 11.5 ((2+3*4)-5)/2 = 4.5思路: 1. 维护两个栈空间:数字栈与符号栈 2. 注意入栈与出栈的规则,符号栈入栈时,根据符号优先级判断是否入栈或出栈。 高优先级符号后入栈时...
分类:
其他好文 时间:
2014-10-25 11:46:16
阅读次数:
200
通过入栈出栈顺序判断祖先关系这里UVALIVE还#include #include #include #include #include #include #include #include #include #include #include #include #include #include ...
分类:
其他好文 时间:
2014-10-24 14:27:04
阅读次数:
126
/*求阶乘时设置最大调用层数,防止栈占满当从函数进入另一个函数时当前函数的内容会入栈,另一个函数调用完时在出栈*/int factorial(int n, int level){ //printf("%d \n", level); if(level>3) { prin...
分类:
编程语言 时间:
2014-10-22 00:45:36
阅读次数:
151
题目大意:一串由'{'和'}'组成的字符串,'{'和'}'可以互相转换,括号匹配的时候
为稳定状态。输入一个字符串,问最少经过几次变换能达到稳定状态。
思路:先建立一个栈,让每个字符逐个进栈,若相邻的两个字符为"{}"(即相邻括
号匹配),则两个字符同时出栈。最终栈里边留下括号不匹配的项。
通过观察可知:最终留在栈里的肯定为以下情况
“}}}}…{{{{{…",即左边全为'}',右边全为'{'。那么最少要转换多少次呢。
由题意可知,括号总数为偶数
分别计算'}'的个数sum1,'{'的个数sum2。
若'}...
分类:
其他好文 时间:
2014-10-20 10:03:19
阅读次数:
290
这个思路实在太难想了。。。。
/*
*str为PUSH,通过s1.push()使元素入栈;
*str为POP时,s2非空,输出栈顶元素,s2.pop()弹出栈顶元素;若s2弹出元素后为空且s1不空,将s1中所有元素push进s2;
*str为POP时,s2为空,若s1不空,将s1中所有元素push进s2,最后输出栈顶元素并通过s2.pop()弹出栈顶元素;
*/题目描述:用两个栈来实现一...
分类:
其他好文 时间:
2014-10-17 16:55:57
阅读次数:
188
一.中缀转后缀中缀转后缀口诀:1.遇到操作数,直接输出。2.当栈为空时,遇到操作符直接入栈。3.遇到左括号,将其入栈4.遇到右括号,执行出栈,输出出栈的元素,直到弹出左括号,(左右括号不输出)。5.遇到运算符时,依次弹出所有优先级大于或等于该运算符的栈顶元素(到输出)然后将该元素入栈,否则直接入栈。...
分类:
其他好文 时间:
2014-10-17 00:27:33
阅读次数:
304
// 使用系统函数中的引用传参 $array = [1,2,3,4,5,6,7,8,9];//数组 // 调用一个函数 array_pop($array); //输出原数组 var_dump($array); // 调用一个函数 array_pop($array); //输出原数组 var_dump...
分类:
编程语言 时间:
2014-10-16 16:52:22
阅读次数:
177
题目大意:给定一棵有根树,每个节点有权值,求有多少链上的权值和为S,要求链上节点的深度必须单调(即这条链由某个节点出发指向根)
DFS一遍,当深搜到一个点时将这个点加入队列,同时队头向后调整,使队列中元素之和
当一个点出栈时将队尾删除,同时队头向前调整,使队列中元素之和刚好
这题1s略卡时间。。。不过我旁边的哥们用nlogn的算法超时700ms过去的0.0 这怎么过去的0.0 误差也太大了吧...
分类:
其他好文 时间:
2014-10-15 11:12:30
阅读次数:
211
双层FOR循环的时候,一定要保证外层循环的次数要小于内层循环的次数。究其原因的话,应该是外层循环越大,造成内存的读取越大。再直白一点就应该是压栈,出栈的次数越大。跟同事研究结果表明,数据库的表关联也有同样的情况出现。主表建议使用数据较少的表,而副表建议使用数据量较大的表。究其原因就是,尽量减少表的访...
分类:
其他好文 时间:
2014-10-14 18:27:49
阅读次数:
147
寄存器冲突问题,解决方案:在子程序的开始将子程序中所有用到的寄存器中的内容都保存起来,在子程序返回前再恢复。可以用栈来保存寄存器中的内容。以后,我们编写子程序的标准框架如下:子程序开始:子程序中使用的寄存器入栈 子程序内容 子程序中使用的寄存器出栈 返回(ret、ret...
分类:
其他好文 时间:
2014-10-11 20:07:16
阅读次数:
289