剑指offer上的第七题,之前在Cracking the Coding interview上做过该题,这次把原来的程序搬了过来,并根据九度OJ的测试系统写了测试代码,在九度OJ上AC。
时间限制:1 秒内存限制:128 兆
题目描述:
用两个栈来实现一个队列,完成队列的Push和Pop操作。
队列中的元素为int类型。
输入:
每个输入文件包含一个测试样例。
对于每个测试样例,第一行输入一个n(1<=n<=100000),代表队列操作的个数。
接下来的n行,每行输入一个队列操作:
1. PUSH X 向队列...
分类:
其他好文 时间:
2014-05-07 06:36:48
阅读次数:
431
Toll! Revisited
大致题意:有两种节点,一种是大写字母,一种是小写字母。首先输入m条边,当经过小写字母时需要付一单位的过路费,当经过大写字母时,要付当前财务的1/20做过路费。问在起点最少需要带多少物品使到达终点时还有k个物品。当有多条符合条件的路径时输出字典序最小的一个。
思路:已知终点的权值,那么可以从终点向前推。求终点到起点的最短路径,然后按字典序打印路径。
比较...
分类:
Web程序 时间:
2014-05-07 06:05:27
阅读次数:
374
题目描述:
输入一个链表,从尾到头打印链表每个节点的值。
输入:
每个输入文件仅包含一组测试样例。
每一组测试案例包含多行,每行一个大于0的整数,代表一个链表的节点。第一行是链表第一个节点的值,依次类推。当输入到-1时代表链表输入完毕。-1本身不属于链表。
输出:
对应每个测试案例,以从尾到头的顺序输出链表每个节点的值,每个值占一行。...
分类:
其他好文 时间:
2014-05-07 05:28:33
阅读次数:
259
根据题意,很明显可以推出DP方程。
假如只考虑向左的方向:
dp[t][i][j]: 第t个时间段末滑行到i,j最长滑行的距离。
dp[t][i][j]=dp[t-1][i][1..k]+(j-k)=dp[t-1][i][1..k]-k+j(k
最终时间复杂度为O(n*m*k)
#include
#include
#include
#include
#include
using nam...
分类:
其他好文 时间:
2014-05-07 04:49:13
阅读次数:
363
事件驱动编程简而言之就是应用程序维护一个或多个事件队列,完全以事件队列为主线来设计和编写整个程序。这里利用队列实现了一个完整的事件驱动编程过程,模拟了银行排队这一离散事件的发生。...
分类:
其他好文 时间:
2014-05-07 04:45:22
阅读次数:
376
下图是一个创建好的链表
下面我们需要删除一个结点,例如删除第3个结点
首先定义一个指针p,并且将p指向第二个结点
然后定义一个指针q,将q指向需要删除的结点
将p指向的结点和q指向的结点相连
p->pNext = q->pNext
清空q指向的结点
free(q);
q = NULL;
删除后的链表
程序代码:
...
分类:
其他好文 时间:
2014-05-06 15:32:46
阅读次数:
325