摘要: 时间限制:1 秒内存限制:32 兆特殊判题:否题目描述:公司现在要对所有员工的年龄进行排序,因为公司员工的人数非常多,所以要求排序算法的效率要非常高,你能写出这样的程序吗?输入:输入可能包含多个测试样例,对于每个测试案例,输入的第一行为一个整数n(1<= n<=1000000):代表公司内员工的人数。输入的第二行包括n个整数:代表公司内每个员工的年龄。其中,员工年龄age的取值范围为(1<=age<=99)。输出:对应每个测试案例,请输出排序后的n个员工的年龄,每个年龄后面有一个空格。样例输入:543 24 12 57 45样例输出:12 24 43 45 57还是华丽 阅读全文
posted @ 2013-03-27 10:25 legendmaner 阅读(584) 评论(0) 推荐(1) 编辑
摘要: 时间限制:1 秒内存限制:32 兆特殊判题:否题目描述:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。输入:输入可能包含多个测试样例,对于每个测试案例,输入的第一行为一个整数n(1<= n<=1000000):代表旋转数组的元素个数。输入的第二行包括n个整数,其中每个整数a的范围是(1<=a<=10000000)。输出:对应每个测试案例,输出旋转数组中最小的元素。样例输入:53 4 5 1 2样例输出:1题目 阅读全文
posted @ 2013-03-26 13:48 legendmaner 阅读(163) 评论(0) 推荐(0) 编辑
摘要: 随机数组中最大K个数:3, 2 ,1, 6, 4, 5最大的3个为:6,4,51、选择排序法。每次将待查询数组的最大一个找出,放入已查询数组中,一直找到K个为止。时间复杂度O(N*K)2、堆排序法。使用小顶堆,存放最大K个元素。查询数组元素,如果堆中未满K个元素,则添加到堆中。如果堆里的元素满K个,且需查询的元素比堆的最小元素还大,则将最小的元素替换,更新小顶堆。如果堆里的元素满K个,但需查询的元素不比堆的最小元素大,则无需其他操作。时间复杂度O(N*log(K))void shift(int b[], int i, int n){ int k,tmp; k=i; if ((... 阅读全文
posted @ 2013-03-25 11:03 legendmaner 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 20、甲、乙两个人在玩猜数字游戏,甲随机写了一个数字,在[1,100]区间之内,将这个数字写在了一张纸上,然后乙来猜。如果乙猜的数字偏小的话,甲会提示:“数字偏小”一旦乙猜的数字偏大的话,甲以后就再也不会提示了,只会回答“猜对 或 猜错”问: 乙至少猜 多少次 猜可以准确猜出这个数字,在这种策略下, 乙猜的第一个数字是多少???答案:猜测序列是14,、27、39、50、60、69、77、84、90、95、99因为无论第几次猜大了,最终的总次数总是14。 这个题目类似于一道Google面试题:扔玻璃球求最高楼层。。一道关于动态规划的面试题——Google面试题:扔玻璃珠某幢大楼有100层。你手里 阅读全文
posted @ 2013-03-23 16:27 legendmaner 阅读(739) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2013-03-23 14:09 legendmaner 阅读(114) 评论(0) 推荐(0) 编辑
摘要: 今天想到了昨天看到一道acm题目,难度入门级别。“谁看的最多”,题目大概是这样的:一队列的人3 2 1 6 4 5,数值的大小表示该人的高度。每个人只能看到前面比他高的人,如1可以看见2、3。但是,如果有人B比他高,那么他就不能看到这那个B之前比B低的人了。如5,因为6比他高,他只能看到6,但看不到6之前的人(如果之前有7、8之类比6高的,5也可以看到)。而4比5低也看不到。题目想了个大概就没有想了,又是卡在里动态规划的状态里。F(i)表示第i个人看到的人数。如果他前一个人比i低,则i看到的最多只有一个了,就是i-1。如果他比前一个高,则看到的就是前i-1个人第一个比他高的人看的人数加一。如果 阅读全文
posted @ 2013-03-22 21:11 legendmaner 阅读(502) 评论(0) 推荐(0) 编辑
摘要: 网易2013实习生试题:5、请问func(0x7f530829)的返回值是()intfunc(unsignedinti){unsignedinttemp=i;temp=(temp&0x55555555)+((temp&0xaaaaaaaa)>>1);temp=(temp&0x33333333)+((temp&0xcccccccc)>>2);temp=(temp&0x0f0f0f0f)+((temp&0xf0f0f0f0)>>4);temp=(temp&0xff00ff)+((temp&0xff0 阅读全文
posted @ 2013-03-22 16:46 legendmaner 阅读(341) 评论(0) 推荐(0) 编辑
摘要: 描述:有一个像这样的数字三角形: 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5从顶点开始,每个数字向下层走只能有左下和右下两个方向,求出到达最后一行时的最大路径之和.今天从一本acm算法书看到的。题目不算难,但书里写的东西不错。解释在动态规划中,你所定义的状态很关键。同一个问题如果你定义的状态不同,你所得的状态转移方程自然不同。这有点废话。可严重的是,如果状态没定义好的话,甚至你根本用不了动态规划。因为你定义的状态根本不满足动态规划的基本要求:最优子问题,无后效性。所以这其实也是卡住很多人的地方。每次看这些题目的时候,总隐隐地觉得它满足... 阅读全文
posted @ 2013-03-21 20:40 legendmaner 阅读(335) 评论(0) 推荐(0) 编辑
摘要: 时间限制:1 秒内存限制:32 兆特殊判题:否题目描述:淘宝公司内部有一个字符串小王子,他平常无聊就研究字符串。一天,他在研究字符串TBTBBT时,他定义了一个统计函数F,F(S)表示一个字符串当中S出现的次数。对于字符串TBTBBT,那么就有F(T)=3,F(B)=3,F(TB)=2,F(BT)=2。但如果我们已知F(T),F(B),F(TB)和F(BT)这四个值,你能求出满足这4个条件,同时字典序最小的字符串么?若存在,则输出这个字符串;若不存在,则输出-1。值得注意的是,字符串小王子认为T是比B小的,因为如果B比T小,那么字符串开头可能就会是BTTB,哈哈,你们邪恶了吧。输入:每个测试文 阅读全文
posted @ 2013-03-21 19:43 legendmaner 阅读(258) 评论(0) 推荐(0) 编辑
摘要: 2012年九度互动社区淘宝实习生春季招聘上机考试http://ac.jobdu.com/contest.php?cid=1035虽然过期,练练也未尝不是件好事。时间限制:1 秒内存限制:32 兆特殊判题:否题目描述:淘宝公司内部有许多新鲜的小玩具,例如淘宝智能机器人。小时候,大家都玩过那个吃豆子的游戏吧,这机器人就是按照这个游戏设计的,它会朝着豆子的方向行走。不过机器人还存在一个bug,他只会朝南和朝东走。现在有一块空地,分成了n*m个格子,每个格子内有一颗豆子。机器人的起点在西北角,终点在东南角。请问机器人从起点到终点有多少种不同的方法。输入:每个案例输入只有一行,有n和m两个正整数,n,m 阅读全文
posted @ 2013-03-19 21:57 legendmaner 阅读(332) 评论(0) 推荐(0) 编辑