У меня есть большой набор целых чисел, которые я использую для хранения TreeSet. Моя задача - найти два числа меньше входного числа.
Например, Set(1, 5, 8, 9) и input = 6 должны возвращать (1, 5) input = 8 должны возвращать (5, 8)
То, что у меня есть до сих пор с точки зрения кода, следующее:
treeSet.to(inputNumber).takeRight(2)
Насколько я понимаю, .to() возвращает проекцию элементов меньше, чем ввод в logN времени. Мне интересно, в чем сложность дополнительного takeRight. Я не могу понять из документов.
Я пытаюсь сделать это максимально эффективным, поскольку мой список ввода содержит миллионы чисел.