编程之美
fy2462
这个作者很懒,什么都没留下…
展开
-
在10进制和2进制中,从0到N总共包含1的数目
这是一道比较传统的面试题,自己写了个10进制的求1个数的程序,后来在《编程之美》中发现上面的解法更好一些,随后有用它的方法重写了一遍2进制下的求解方法。 程序源码请点击这里下载。 对于自己写的10进制程序:主要思想还是从前期的分析得出来的: 1、先统计N的相应位置所对应的累加和数组 2、从前到后,根据所当前位置对应的位数,进行累加,即: 1)当原创 2014-06-17 14:36:20 · 867 阅读 · 0 评论 -
寻找最大的K个数
这是一道很普遍和基础的题目,有很深的扩展性。 一、 首先,第一反应往往会想到快速排序后,再输出K个元素,但是时间复杂度为O(N*logN/log2) + O(K) = O(N*logN/log2)。 另外一种做法是,通过冒泡排序选出K个最大的出来,它的时间复杂度为O(N*K)。 这就要比较K 二、 那么,进一步化简:原创 2014-06-17 14:57:38 · 830 阅读 · 0 评论