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