使用Java代码在10w个数中找出最大的10个数
时间: 2024-04-09 12:29:22 浏览: 140
求十个数中最大的数
你可以使用堆排序算法来在Java中解决这个问题。以下是一个示例代码:
```java
import java.util.PriorityQueue;
public class Main {
public static void main(String[] args) {
int[] nums = {1, 5, 3, 9, 2, 7, 8, 6, 4};
int k = 3;
int[] largestNumbers = findLargestNumbers(nums, k);
for (int num : largestNumbers) {
System.out.print(num + " ");
}
}
public static int[] findLargestNumbers(int[] nums, int k) {
PriorityQueue<Integer> heap = new PriorityQueue<>();
for (int num : nums) {
if (heap.size() < k) {
heap.offer(num);
} else {
if (num > heap.peek()) {
heap.poll();
heap.offer(num);
}
}
}
int[] result = new int[k];
for (int i = 0; i < k; i++) {
result[i] = heap.poll();
}
return result;
}
}
```
在这个示例中,我们找出了数组 `{1, 5, 3, 9, 2, 7, 8, 6, 4}` 中最大的3个数,即 `{7, 8, 9}`。你可以根据你的实际需求修改输入的数组和k值。运行代码后,将会输出最大的10个数。
阅读全文