您的位置:首页 > 其它

阿里巴巴2012-10-9 几道笔试题

2012-10-09 23:26 281 查看
选择题不太记得了,直接说还有些印象的后面几道题目。

前几到分别考察二分法、二叉树遍历、LRU页面置换算法。

后面算法里如下(大致印象):

1.有两个包甲、乙,甲中有红球800个、蓝球200个,乙中有红球200个、蓝球800个,现随机选一个包,从中选择样本,每次抽取一个球,抽完仍放回包中。现在抽取了11个球,其中红色7个,蓝色4个。问选中的是甲包的概率?

貌似就是一个全概率事件的问题。

2.现有一个数组,其中任意位置A[i] ,与其最终排好序的位置相差为k,2<=k<n,且k 远小于n;即 A[i]在排序之后的位置为[i-k,i+k]
之间。

现要求利用这一信息,对数组进行排序。设计算法,并分析时间复杂度。时间复杂度要求尽可能低(小于O(nk))

在基本有序的情况下,插入排序是一个不错的选择,任意i位置的数,只需要与其前k个数进行比较,总共最多需比较nk次,是O(nk)的算法。

有没有更好的算法?积极思考中。。。。

3.给定一个字符串序列:a,b,c,d, aa,ba,ca,da,ab,bb,cb,db,...,aaa,baa,caa,daa,...

其中a的位置为1,问

1)aaa的位置

2)bcadf的位置

3)1000位置的字符串

4)实现函数find,输入一个字符串,输出它在字符串序列中的位置。

可以看做一颗四叉树,

a,b,c,d

aa,ba,ca,da ab,bb,cb,db ac,bc,cc,dc ad,bd,cd,dd

...

则任意一个字符串,按四进制计算,没
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: