Я много думал об этом и не смог найти оптимальное решение. Я готовлюсь к техническим интервью, но я не нашел много вещей, связанных с этим вопросом. Первым моим шагом было реализовать наивный алгоритм O (n), который ищет по всему массиву, чтобы найти максимальное целое число. Теперь я знаю, что могу сделать намного лучше, чем это, поэтому я подумал, может быть, был способ использовать Binary Search или воспользоваться тем фактом, что по крайней мере половина массива полностью отсортирована. Возможно, вы могли бы найти среднее значение и сравнить его с началом и концом массива.Учитывая вращающийся сортированный массив, как я могу найти наибольшее значение в этом массиве?
Пример:
[5, 7, 11, 1, 3] возвратит 11.
[7, 9, 15, 1, 3] возвратит 15.
Итак, продолжайте движение мысли. Ответ на вопросы интервью заключается не в том, чтобы узнать ответ, а о решении проблемы. –
Посмотрите на это: http: //stackoverflow.com/questions/1878769/searching-a-number-in-a-rotated-sorted-array – qqibrow
1. Найдите наименьшее значение. 2. Верните значение слева. –