您有一个包含n个整数的列表,您想要其中最小的x个。例如,
我将投票支持合理范围内的独特运行时,并将为最佳运行时提供绿色勾选。
我将从
编辑:
x_smallest([1, 2, 5, 4, 3], 3)
应该返回[1, 2, 3]
。我将投票支持合理范围内的独特运行时,并将为最佳运行时提供绿色勾选。
我将从
O(n * x)
开始:创建一个长度为x的数组。迭代x次列表,每次取出下一个最小的整数。编辑:
- 您无法事先知道这些数字的大小。
- 您不关心最终的顺序,只是想要最小的x个。
- 尽管某些方案已经处理此问题,但让我们假设虽然不能保证唯一的列表,但您也不会得到像
[1, 1, 1, 1, 1]
这样的退化列表。