星期三, 九月 19, 2007

Baidu面试题

先问了个分布式加锁问题存在的问题,如何改进
然后是统计内存中bit 1的个数,要效率高,这个居然没做出来
然后是一次可以走1、2、3个楼梯,总的方法数
最后相当于设计一个QQ的简单数据结构,最大可加500好友,但是平均只有50个
问怎么存放。。最后提示到说链表和数组折衷一下,就是想不到……
走楼梯的 假设n档楼梯, f(n) = f(n-1)+f(n-2)+f(n-3), 利用程序或者母函数推出来。
统计一个数int (32)位 ,x = x & (x-1),可以让x的bit中1的位数减1, 知道x等于0,可以利用循环计算出x的bit位中1的个数。

没有评论: