微软100题(38)几道百度面试题
来源:互联网 发布:心动网络用户中心在哪 编辑:程序博客网 时间:2024/05/22 17:18
题目:百度面试:
1.用天平(只能比较,不能称重)从一堆小球中找出其中唯一一个较轻的,使用x次天平,
最多可以从y个小球中找出较轻的那个,求y与x的关系式。
2.有一个很大很大的输入流,大到没有存储器可以将其存储下来,
而且只输入一次,如何从这个输入流中随机取得m个记录。
3.大量的URL字符串,如何从中去除重复的,优化时间空间复杂度
1.解答:
将小球分成三堆:A B C ,如果A == B,那么就在C里面,A<B,在A里面,否则在B里面
x==1 => y==3 x==2 => y==9称一次,把总量缩小到1/3,所以 y=3^x;
2.解答:
http://c.blog.sina.com.cn/profile.php?blogid=eb52001d89000ljl
http://blog.csdn.net/jiyanfeng1/article/details/7937715
都讲的挺好
用大小为m的数组arr[0:m-1]来保存随机抽取的元素,arr[0:m-1]逐步初始化为输入流的前m个元素的一个随机排列。
对于输入流中的第k (k>m)个元素,随机生成一个[0,k-1]区间内的整数i,如果此随机整数i小于等于m,那么就用第k个元素覆盖掉arr[i-1],否则,丢弃第k个元素。
注意,每从输入流中提取一个新元素,我们都要随机生成一个整数,而此整数的有可能出现的范围都要加1.
3.解答:
海量数据处理,如果url个数上亿,那么可以——分而治之/hash映射:遍历文件a,对每个url求取hash(url)%1000,然后根据所取得的值将url分别存储到1000个小文件,相同的url一定在同一个小文件里面
然后处理每个小文件,可以继续设计hash函数,hash(url)相等时候,判断url是不是一样,将每个小文件中的url去重,最后再将这1000个文件合并
- 微软100题(38)几道百度面试题
- 微软100题(44)几道腾讯面试题
- 微软100题(45)几道雅虎面试题
- 微软100题(83)百度面试题_memmove实现
- 几道微软面试题
- 微软100题(39)几道网易有道面试题
- 几道微软编程面试题
- 微软等数据结构+算法面试100题(18)--百度面试题
- 微软100题(81)百度面试题_大数据处理
- 微软100题(82)百度面试题_url访问频度排序
- 微软100题(84)百度面试题_随机发生器
- 微软Microsoft、谷歌Google、百度、腾讯面试题(一)
- 微软Microsoft、谷歌Google、百度、腾讯面试题(二)
- 微软Microsoft、谷歌Google、百度、腾讯面试题(三)
- 微软Microsoft、谷歌Google、百度、腾讯面试题(四)
- 微软等数据结构+算法面试100题(48)-- 微软十五道面试题
- 微软100题面试题总结
- 微软十五道面试题(待续)
- 假如你手上有50万,你会怎么样?
- Web_PHP_PHP客户端表单数据验证;
- GIS系统能帮助我们解决什么?
- 深度学习
- Adapter内的onItemClick监听器四个arg参数
- 微软100题(38)几道百度面试题
- MSDAORA.1与OraOLEDB.Oracle一些使用经验
- oc中谓词的使用(NSPredicate)
- vi命令-准备好你的手指!
- 修改class默认编译目录build
- Java web基础总结十之—— jsp EL表达式
- Android 进行单元测试难在哪-part2
- linux服务器时间校对
- ceph存储 状态机思路在程序设计中的应用