[20, 32, 32, 21, 30, 25, 29, 13, 14].min(2)
# => [13, 20]
Почему это не [13, 14]
? И как сделать я получаю то, что хочу, два самых маленьких элемента (в линейном времени)?
Предложение doc "Если аргумент n задан, минимальные n элементов возвращаются как массив" мне не совсем понятно, но я думаю, что он говорит, что min(2)
должен дать мне самые маленькие два элемента. Я не мог много узнать об этом, но этот поток, который может быть источником, кажется, согласен со мной и говорит, что он должен вернуть то же, что и sort.first(n)
, чего нет:
[20, 32, 32, 21, 30, 25, 29, 13, 14].sort.first(2)
# => [13, 14]
Извините, если тупой вопрос и извините за "большой" пример, но это уже уменьшено - удаление еще одного номера (кроме 13 или 14) дает мне [13, 14]
.