Java实现TopK问题的方法
发布于 2020-7-11|
复制链接
摘记: 面试中会经常遇到手撕代码的情况,而求TopK的是经常遇到的题目。下面我就用Java来实现。主要通过两种方法实现,快排思想以及堆排序的思想,两者的复杂度为O(NlogK)。基于快排的TopK实现:
```java
import java.util.Arrays;
/**
* 使用快排实现的TopK问题 Title: Descr ..
面试中会经常遇到手撕代码的情况,而求TopK的是经常遇到的题目。下面我就用Java来实现。主要通过两种方法实现,快排思想以及堆排序的思想,两者的复杂度为O(NlogK)。基于快排的TopK实现:
```java
import java.util.Arrays;
/**
* 使用快排实现的TopK问题 Title: Description: Company:
*
* @author 郑伟
* @date 2018年4月10日下午9:28:15
*/
public class TopK_PartitionSort {
public static void main(String[] args) {
int[] num = { 2, 20, 3, 7, 9, 1, 17, 18, 0, 4 };
partitionSort(num, 0, num.length - 1, 3);
System.out.println(Arrays.toString(num));
}
public