编程之美
wonderhowwonderwhy
这个作者很懒,什么都没留下…
展开
-
编程之美_2.4 “1的数目”
扩展问题:二进制数N,从1开始,到N的所有二进制数,然后数下其中出现的所有“1”的个数。例如: f(1)=1 f(10)=2 (因为01,10共有2个1) f(11)=100 (因为01,10,11共有4个1) 思路:以10110为例,考虑最高位为0时共有几个1,因为后面4位中1和0出现的概率是相等的,也即1在每个位上出现的概率为(2^4)/2=8,最高位为0时,所有1的个数为4*8=原创 2012-09-16 16:39:39 · 1108 阅读 · 0 评论 -
编程之美2.5 “寻找最大K个数”
解法二用快速排序划分的方法 #include #include using namespace std; const int K=5; int Partition(int data[],int first,int end); void K_Qsort(int data[],int first,int end,int dst[]); void swap(int &a,int &b); void原创 2012-09-17 09:58:40 · 2212 阅读 · 0 评论