Поиск с двух краёв

Обычный линейный поиск идёт только слева направо, а здесь два указателя движутся навстречу друг другу. Один проверяет элементы с начала списка, другой — с конца. Даны список array и значение search_item. Верни индекс найденного элемента, а если его нет — -1.

Примеры

Ввод
[1, 5, 5, 10], 1
Вывод
0
Ввод
[1, 5, 5, 10], 5
Вывод
1
Ввод
[1, 5, 5, 10], 100
Вывод
-1

Нужно реализовать

def double_linear_search(array: list[int], search_item: int) -> int:

Теги

arraytwo-pointers
PostgreSQLv16

Здесь будет результат выполнения кода

Видимые тесты
1
Ввод
[1,5,5,10], 1
Ожидаемый0
2
Ввод
[1,5,5,10], 5
Ожидаемый1
3
Ввод
[1,5,5,10], 100
Ожидаемый-1
4
Ввод
[1,5,5,10], 10
Ожидаемый3
5
Ввод
[1,5,5,10,1,5], 999999
Ожидаемый-1
6
Ввод
[1,5,5,10], 20
Ожидаемый-1
Фокус-радио
На паузе · SomaFM · Fluid