У вас есть список n целых чисел, и вы хотите, чтобы x был наименьшим. Например,
x_smallest([1, 2, 5, 4, 3], 3) должен возвращать [1, 2, 3].
Я проголосую за уникальные времена работы в разумных пределах и дам зеленый тест на лучшее время исполнения.
Я начну с O(n * x): создайте массив длины x. Итерации через список x раз, каждый раз вытягивая следующее наименьшее целое число.
редактирует
- Вы не представляете, насколько велики или малы эти цифры раньше времени.
- Вы не заботитесь о конечном заказе, вы просто хотите, чтобы x был наименьшим.
- Это уже обрабатывается в некоторых решениях, но скажем, что, хотя вам не гарантирован уникальный список, вы также не получите также вырожденный список, например,
[1, 1, 1, 1, 1].