📜  选择n个元素,使其均值最大(1)

📅  最后修改于: 2023-12-03 14:57:59.886000             🧑  作者: Mango

选择n个元素,使其均值最大

这个问题可以使用贪心算法来解决。我们可以将数组从小到大排序,然后选择最大的n个元素,这些元素的均值一定是最大的。

算法步骤
  1. 将数组从小到大排序
  2. 取出数组中最大的n个数
  3. 计算这n个数的均值
代码实现
def max_average(nums: List[int], n: int) -> float:
    nums.sort()
    return sum(nums[-n:]) / n
时间复杂度

该算法的时间复杂度为 O(n log n),因为需要排序。

空间复杂度

该算法的空间复杂度为 O(1),因为只需要保存n个数。