我怎样才能在一个数组中找到 n 个最大的整数并 returns 它们在一个新数组中

How can i find the n largest integers in an array and returns them in a new array

如何在一个数组中找到 n 个最大的整数并returns它们在一个新数组中。

使用Linq非常简单:

var newArray = array.OrderByDescending(x => x).Take(n).ToArray();

您可以使用堆排序在 nlogn 时间内完成此操作。

  1. 创建最大堆
  2. 从中拉取n个元素