笔试题
zhongkeli
这个作者很懒,什么都没留下…
展开
-
人人网
乱序存储10个大小连续的自然数(如6,1,2,3,9,4,5,7,0,8)中随机抽取一个,根据余下的数,如何判定被抽取数的值?如果有1000万或更多自然数时,判定被抽取数的值时,也用同样的方法吗?直接采用二分法查找就可以了就可以数列 a[1000000];取走后数据形成的数列为b[1000000-1];L =0;H=10000000;第一次二分法,若a[原创 2011-11-25 16:22:50 · 797 阅读 · 1 评论 -
海量数据面试题整理
http://www.cnblogs.com/youwang/archive/2010/07/20/1781431.html1. 给定a、b两个文件,各存放50亿个url,每个url各占64字节,内存限制是4G,让你找出a、b文件共同的url?方案1:可以估计每个文件安的大小为50G×64=320G,远远大于内存限制的4G。所以不可能将其完全加载到内存中处理。考虑采取分而治之的转载 2011-12-08 09:37:56 · 952 阅读 · 0 评论 -
交换
#include using namespace std;template void swap(T a[],int first,int second){ T temp; temp = a[first]; a[first] = a[second]; a[second] = temp;}template void reverse(T a[],int begin,int end){原创 2013-04-11 09:15:46 · 862 阅读 · 0 评论 -
求二进制数中1的个数
#include using namespace std;const int larg = 100000;int main(int argc, char const *argv[]){ int n = 10; int num = 0; while(n){ n &= (n - 1);//每次去掉尾部的一个1 num++; } cout<<num<<endl; return原创 2013-04-09 20:10:38 · 1302 阅读 · 0 评论 -
原地归并排序
原地归并排序所利用的核心思想便是“反转内存”的变体,即“交换两段相邻内存块”,对于反转内存的相关文章,曾在文章“关于反转字符串(Reverse Words)的思考及三种解法”中对一道面试题做了分析。这一思想用到的地方很多,在《编程珠玑》中被称为“手摇算法”。通过手摇算法的交换内存的思想来进行原地归并又有不少变种,我们举例分析一种比较常见的情况,不同的方法还有基于二分查找的方法来确定交换的内存块原创 2013-04-11 10:16:20 · 11193 阅读 · 4 评论 -
为什么整数范围是0 - 2^32 - 1,一共有4G种取值
因为4GB=4*1024MB=4*1024*1024KB=4*1024*1024*1024B,原创 2013-10-17 10:51:41 · 1061 阅读 · 0 评论