Если у меня есть массив значений в порядке восходящего порядка и использую Array.binarySearch, то если востребованное значение фактически не существует, BinarySearch вернет индекс первого наивысшего значения в массиве (ну, на самом деле побитово его дополнение, но я могу дополнить это, чтобы вернуться к индексу), например. Если я ищу 0,27, а элемент IT составляет 0,20, а элемент I+1 -й - 0,29, то BinarySearch вернется ~ i+1, так что я могу выработать это значение, которое я ищу ложь между элементами I'th и I+1 -й. Отлично! Так что я не могу работать наши два элемента, которые я искал ценность. Не так здорово. < /P>
Я что -то недопонимаю? Это немного странно, что я получаю «полезное» возвращаемое значение, то есть близко к значению, если массив поднимается, но не в том случае, если массив спускается. Я действительно думал о временном изменении массива, но я буду делать много поисков в одном и том же массиве, и я думаю, что у меня каждый раз у меня будет штраф времени. (Я полагаю, я мог бы сохранить обратную копию и работать с этим, так как массив не будет очень большим.)
Любые предложения оценены.
Подробнее здесь: https://stackoverflow.com/questions/796 ... xact-match
Метод бинарного анализа на массиве, отсортированный в порядке убывания без точного совпадения [дублировать] ⇐ C#
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Сортировка списка словарей в порядке убывания конкретного ключа [дублировать]
Anonymous » » в форуме Python - 0 Ответы
- 6 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Jmespath Filter вложенные объекты на основе точного совпадения значения атрибута
Anonymous » » в форуме Python - 0 Ответы
- 9 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Jmespath Filter вложенные объекты на основе точного совпадения значения атрибута
Anonymous » » в форуме Python - 0 Ответы
- 7 Просмотры
-
Последнее сообщение Anonymous
-