Как я могу использовать бинарный поиск для поиска первого элемента в списке больше определенного значения? - PullRequest
2 голосов
/ 09 мая 2011

с использованием Java.Список отсортирован, поэтому я хочу использовать бинарный поиск.Я бы предпочел не писать дополнительный код, есть ли встроенный метод для этого?

Ответы [ 2 ]

8 голосов
/ 09 мая 2011

Вы смотрели на Collections.binarySearch? Это в основном выполняет часть поиска - вам нужно будет посмотреть, был ли результат отрицательным (т. Е. Точное совпадение не найдено), и взять побитовое дополнение, если это так, чтобы найти, где элемент будет иметь был вставлен.

0 голосов
/ 09 мая 2011

Попробуйте JavaDocs для Массивов . Существует около 17 определений функций для binarySearcy ()

Также есть несколько реализаций

ПРАВКА:

ХотяВы сказали, что не хотите писать код, это верный способ получить именно то, что вы хотите.И учитесь по пути :)

http://www.java -tips.org / java-se-tips / java.lang / бинарный поиск-реализация-в-java.html http://en.wikibooks.org/wiki/Algorithm_Implementation/Search/Binary_search

...