算法
Searcher_Tom
这个作者很懒,什么都没留下…
展开
-
编程珠玑习题第四章第九题的感想
如题: 将如下递归代码改写成非递归形式int exp(int x, int n) { if ( n == 0) { return 1; } else if (n % 2 == 0) { return exp (x, n / 2) * exp(x, n / 2);-------------------------(1)原创 2012-12-28 14:42:42 · 520 阅读 · 0 评论 -
求一个整数序列的最大子序列和(编程珠玑第八章)
前言:这个问题貌似在今年4月份腾讯招聘实习生的第一轮笔试中曾出现过,不过不是一道编写程序题, 而是相对简单些的程序填空题:题目给出了问题描述后,要求分别按照o(n^2)和o(n)的算法复杂度来填空。 最近几天正忙着看一个孩子推荐的书籍《编程珠玑》,巧合的是在本书第八章便是围绕这个问题层层推进来展开论述的。 问题描述:给定一个整数序列 a1, a2, a3, a4,a5......an原创 2012-12-29 14:18:25 · 2403 阅读 · 0 评论 -
在特定数组中查找最小整数(生成id的o(n)方法)
这是在TL讨论中Liu xinyu给出的一个例子,觉得思路挺有启发的,所以整理记录一下。给定一个数组,其内容是一些随机的、不重复的正整数,如:{4, 23, 1, 8, 9, 21, 6, 12}要求找出不在数组中出现的最小的那个数,比如这个数组中未在数组中出现的最小值是:2这个问题实际应用的原型可以是一个ID分配系统,其使用一个数组来保存已分配的ID,每次回收就从数组中删除一个元转载 2013-02-26 15:12:12 · 736 阅读 · 0 评论 -
5月5日阿里巴巴暑假实习研发试题回忆
1.有一个数组a[1-n],试图找出i,j,k使得a[i]+a[j] = a[k],问最好的算法的算法复杂度是多收?(选择题)2.有a,b两位同学,来数星星,轮流数,每次数的星星个数在[20,30],最后输完星星的孩子获胜。请问下列哪些星星数能够保证a一定获胜(多选题)3.有n个士兵,每个士兵知道不同的军事秘密,每两个士兵可以通过一次交流来互相知晓对方掌握的信息,现设计最优的策略来使得通过原创 2013-05-05 16:05:02 · 1212 阅读 · 0 评论 -
阿里巴巴2013/5/19第十八题的感想
题目:宿舍内有五个童鞋一起玩对战游戏,每场比赛有一些人作为红方,另外一些人作为蓝方,请问至少需要多少场比赛才能使得任意两个人之间有一场红方对蓝方和一场蓝方对红方的比赛,请写出思路。分析:更具一般性而言,舍有n个人玩对战游戏好喽,要使得任意两个人之间都发生过两种关系(虽然不雅,这里暂时称作“发生关系”)。那么要使得总的比赛次数尽可能小,则每场比赛就要使得尽量多的新的关系产生,比如,第一场比赛,假原创 2013-05-24 18:18:31 · 2622 阅读 · 0 评论 -
关于网上搜查得到的3DC3的基于字符串后缀数组的排序方法的怀疑
最近整理笔试题,发现了在字符串处理中后缀数组的应用,随机翻看了下;网上最多的内容全部是应用一个叫“罗穗骞”的孩子的国家集训论文里面的内容,其中比较全面讲解了后缀数组的应用问题,但是,就其3DC3的排序方法中我总觉得有些问题,于是手动测试了一下,确实弄出了毛病,先看看他的讲解:一、DC3算法 算法分3步: (1)、先将后缀分成两部分,然后对第一部分的后缀排序。原创 2013-09-10 23:32:23 · 974 阅读 · 0 评论