给你一个数组,O(N)时间找出某些个数,这些题如果没见过,还真不是很好想。做了这些题,我觉得有下面两个个比较常见的思路:
1. 用两个指针,可以从一边开始,走某个距离停止,也可能是一头一尾两个指针,定义一种大小关系,他俩比较之后移动,直到相遇。
2. 用其他的辅助的数据结构,可能是hash表,可能是map,可能是栈或者队列。这种通常用在访问了现在的不能确定他们是不是有用,是不是能影响最后的结果...
分类:
其他好文 时间:
2014-05-07 07:50:33
阅读次数:
392
RabbitMQ专题学习之简介和部署,详细介绍了基于Windows平台的部署...
分类:
其他好文 时间:
2014-05-07 07:33:04
阅读次数:
421
大意:每个测试用例是一个数组。找出xi和xj,(xi>xj),做运算令xi=xi-xj。可以做若干组这样的运算,使得最后的数组和最小。输出此和。
分析:用优先队列,每次找出最大的和次大的,处理后再加入此队列。注意多个相同的xi这种情况!...
分类:
其他好文 时间:
2014-05-07 07:19:27
阅读次数:
301
剑指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
根据题意,很明显可以推出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
基于RabbitMQ的发布者订阅者消息分发模型...
分类:
其他好文 时间:
2014-05-07 02:43:57
阅读次数:
450