各大IT公司面试题总结
1. (芯片问题,百度网上笔试题)有n个芯片,里面有好芯片也有坏芯片,好芯片的个数比坏芯片个数多。好芯片可以判断出另外一个芯片是好是坏,而坏芯片对另外一个芯片的判定给出随机的结论。问,如何用最少的次数找到一个好芯片?
2. 用最小堆可以实现k路归并,算法复杂度为O(nlogk),n为总元素个数。k路归并是指将k个有序(非递减)数组归并成一个有序数组。
3. (MS笔试题) 整数数列,有正有负,找一个区间使和最大
4.怎样用一个“有偏”的概率发生器构造一个“无偏”的概率发生器? “有偏”的概率发生器是指,产生0和1的概率不等,一个为p,一个为1-p “无偏”的概率发生器就是产生0和1的概率相等,都为1/2 这个问题的意思就是怎么用“有偏”的概率发生器作为子函数,实现“无偏”的概率发生器。
5.实现void * memmove ( void * dst, const void * src, size_t count )
6.如何判断一棵树是否是二叉排序树
(待续)