Бинарный поиск является эффективным методом поиска. Временная сложность варьируется от O (1) до O (log n).

Шаг 1. Назначьте переменные первому и последнему элементам массива.

Шаг 2. Используйте цикл while для перебора входного массива.

Шаг 3. Проверьте, равно ли среднее значение, больше или меньше целевого значения. Если равно, вернуть значение. Если бы это была первая итерация, мы бы искали за O(1). Если значение nums[middle] больше целевого, конечное значение будет сдвинуто на среднее значение минус 1. Если значение nums[middle] меньше целевого, начальное значение будет сдвинуто на среднее значение плюс один.

Шаг 4. Повторяйте этот процесс до тех пор, пока либо значение nums[middle] не будет равно целевому, либо значение start больше, чем end, что указывает на отсутствие значения.