经典例题
初来
这个作者很懒,什么都没留下…
展开
-
用递归算法判断数组a[N]是否为一个递增数组
递归的方法:记录当前最大的,并且判断当前的是否比这个还大,大则继续,否则返回false结束: bool fun( int a[], int n ) { if( n==1 ) { return true; } if( n==2 ) { return a[n-1] >= a[n-2]; } return ( fun( a,n-1) && ( a[n-1] >= a[n-2]转载 2012-03-11 12:44:56 · 964 阅读 · 0 评论 -
从10亿个浮点数当中,选出其中最大的10000个
先将数据进行分割成数据量小的一些文件,如1000000个数据为一个文件,然后将每个文件数据进行排序,用快速排序法排序,然后使用K路合并法将其合并到一个文件下,取出排序好的最大的10000个数据) 另解: 1、读一次所有数据,得出最大和最小。 2、用最大和最小,分100个区间。 dx = (x_max - x_min) / 100。—— 每区间范围: dx * (i-1) 到 dx * i,i转载 2012-03-11 13:08:48 · 1082 阅读 · 0 评论 -
求下面函数的返回值
int func(x) { int countx = 0; while(x) { countx ++; x = x&(x-1); } return countx; } 假定x = 9999。 答案:8 思路:将x转化为2进制,看含有的1的个数。转载 2013-10-21 09:31:52 · 1250 阅读 · 0 评论