摘要:
题目描述输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,。方法一基于随机快排思想,基于数组的第k个数字来调整,则使得比第k个数字小的所有数字都在数组的左边,比k大的数字都在数组的右边。这... 阅读全文
摘要:
在做一道算法时需要使用大顶堆,所以查了一下记录。 使用PriorityQueue实现大顶堆PriorityQueue默认是一个小顶堆,然而可以通过传入自定义的Comparator函数来实现大顶堆。如下代码实现了一个初始大小为11... 阅读全文
摘要:
题目描述数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。方法一 ---- 基于随机快排如果数组中... 阅读全文