1.编程题:
两个字符串a和b,a和b中都含有汉字,判断两字符串是否匹配。匹配的条件是:b中的汉字出现的次数不少于在a中出现的次数,b中的字符在a中都有出现。并分析时间和空间的复杂度。(这个题和百度06年的一道题目有些相似)
2.算法题:
已知一个序列seq=[a,b,....,z,aa,ab,...,zz,aaa,aab,....],求任意一个字符串s=[a-z]+在seq中出现的位置。
3.系统设计题:
现在要设计一个评分系统,用户在搜索完毕后对这次搜索结果进行评分,然后搜索结果将按照评分高低进行排序,为避免用户恶意的评分、点击请问如何设计这个评分系统。
周三,科大场:
1.编程题:
有一组N个固定的集合(N为万量级),在每个集合中有0-ID个编号为id的集合,每个集合中有1-M个temp数组(M为1-100)。现在输入temp输出集合的id,条件是这一组temp包含集合id中所有的temp数组,如果没有输出-1.
例如输入:
temp1空格temp2
temp1空格temp3
temp2空格temp3 temp4
注:a.temp中有汉字出现
b.可以用代码或者伪代码实现
c.分析该算法的时间和空间复杂度
2.算法题:
已知一个文件中有N条无序的条目,T1,T2,...,TN,现在可以找到一个整数M使得T1 <T2 <... <TM和TM+1 <TM+2 <.... <TN.
(1)写出一个算法,使得T1' <T2' <... <TN',其中读写文件的时间复杂度为O(n),内存不限。
(2)写出一个算法,使得T1' <T2' <... <TN',其中读写文件的时间复杂度为O(n),空间复杂度为O(1)。
3.系统设计题:
完成一个搜索需要三个文件:from_url(读取url信息),to_url(连接url信息),anchor(存放页面信息)。
现在要设计一个系统使(from_url/to_url/anchor)存放的N个巨型的数据库中(N <100),满足一下条件:
a.存放相同to_url的页面存放在同一个数据库中
b.相同的to_url存放在同一个数据库中
c.每个数据库存放的信息均匀
d.检索每条信息用的时间差不多