分享

随笔

 sky_feiyang 2014-06-26
1 某公司举行羽毛球大赛,共1001人,采用淘汰制,至少需要多少场比赛?

答:既然是淘汰赛,1场肯定淘汰一个人,1001人最后剩1个冠军,要淘汰1000个人就是1000场

2 100盏灯,第一轮操作:全部亮灯;第二轮,隔一个灭一个灯,即第偶数盏等灭掉;第三轮:隔两盏灯,如果是亮着的,灭掉,如果没亮,则打开;以此类推,进行到第100轮操作的时候,有多少盏灯是亮着的?

答:第 i 次操作就是把第 i*1,i*2…i*n(要小于等于100)个灯的状态改变,这样再看,那么第1盏灯值变一次,第2,3,5…只变了2次,第4盏灯只变了3 次…瞬间明白,分解因数。。。但并不是分解成1,本身,和其他素因子的个数就行了,其实不是素因子也可以。例如:8,分解为1 2 4 8,其中的4就不是素数

3 20个数组,每个数组有500个数,都按照降序排列,而且每个数组中保存的是uint 类型的数,32位。问如何选择其中的最大的500个数。

答:方法如下
1.建立最大堆,依次将20个数组的首个元素入堆,当然堆的节点要记录是属于哪个数组的。
2.弹出堆顶元素,将属于同个数组的后续元素入堆
3.转2
复杂度O(nlogk)   n=500 k=20

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多