摘要: 输入n个数,找出其中最小的k个数。例如输入4,5,1,6,2,7,3,8 这8个数,则最小的4个数是1,2,3,4. 解法一:O(n)的算法,只有当我们可以修改输入数组时可用 解法二:O(nlogk)的算法,特别适合处理海量数据 阅读全文
posted @ 2014-05-10 20:53 月轩 阅读(153) 评论(0) 推荐(0) 编辑
摘要: set和multiset会根据特定的排序准则,自动将元素排序。两者不同处在于multiset允许元素重复而set不允许。 阅读全文
posted @ 2014-05-10 20:11 月轩 阅读(251) 评论(0) 推荐(0) 编辑
摘要: 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。 例如输入数组:{1,3,3,2,3,2,3,3,2}。由于2在数组中出现了5次,超过数组长度的一半,因此要输出2。 有两种解法: 第一种方法是基于快速排序算法的原理,边排序边判断是否符合输出条件。这种方法的代码我因为没有保存,在电脑蓝屏之后全部消失了·······~~~~(_)~~~~ 呜呜。 第二种方法是根据数组特点找出的算法,时间复杂度为O(n),且不用改变数组本身结构。 阅读全文
posted @ 2014-05-10 16:26 月轩 阅读(5943) 评论(0) 推荐(0) 编辑