Код: Выделить всё
while lo 0 and nums[mid] < nums[mid - 1]:
return 'found'
elif nums[mid] < nums[len(nums)-1]:
return 'left'
elif nums[mid] == nums[len(nums)-1]:
return 'left'
else:
return 'right'
return binary_search(0, len(nums)-1, condition)
ТЕСТОВЫЙ СЛУЧАЙ № 0
Ввод:
{'nums' : [19, 25, 29, 3, 5, 6, 7, 9, 11, 14]
Ожидаемый результат:
3
Фактическое Выход:
3
Время выполнения:
0,014 мс
Результат теста:
ПРОДАНО
ТЕСТОВЫЙ СЛУЧАЙ №1
Ввод:
{'nums': [13, 14, 17, 18, 19, 6, 8, 11]
Ожидаемый результат:
5
Фактический результат:
5
Время выполнения:
0,009 мс
Результат теста:
ПРОГЛАСЕН
ТЕСТОВЫЙ СЛУЧАЙ №2Ввод:
{'nums': [0, 1, 2, 3, 4, 5]
Ожидаемый результат:
-1
Фактический результат:
-1
Время выполнения:
0,009 мс
Результат теста:
ПРОДАНО
ТЕСТОВЫЙ СЛУЧАЙ №3
Ввод:
{'nums': [9, 2, 3, 4, 5, 6, 7, 8]}< /p>
Ожидаемый результат:
1
Фактический результат:
1
Время выполнения :
0,008 мс
Результат теста:
ПРОГЛАСЕН
ТЕСТОВЫЙ СЛУЧАЙ № 4
Ввод:
{'nums': [9, 2, 3, 4, 5, 6, 7, 8]
Ожидаемый результат:
1
Фактический результат:
1
Время выполнения:
0,005 мс
Результат теста:
ПРОГЛАСЕН
ТЕСТОВЫЙ СЛУЧАЙ №5
Ввод:
{'nums': [3, 4, 5, 6, 7, 8]
Ожидаемый результат:
-1
Фактический результат:
-1
Время выполнения:
0,006 мс
Результат теста:
ПРОГЛАСЕН
ТЕСТОВЫЙ СЛУЧАЙ №6
Ввод:
{'nums': []
Ожидается Выход:
-1
Фактический результат:
-1
Время выполнения:
0,002 мс
Результат теста:
ПРОГЛАСЕН
ТЕСТОВЫЙ СЛУЧАЙ № 7
Ввод:
{ 'числа': [5]
Ожидаемый результат:
-1
Фактический результат:
-1
Время выполнения:
0,006 мс
Результат теста:
ПРОГЛАСЕН
ТЕСТОВЫЙ СЛУЧАЙ №8
Ввод :
{'nums': [6, 6, 7, 8, 9, 9, 9, 0, 1, 3, 3, 4, 5, 5]
Ожидаемый результат:
7
Фактический результат:
7
Время выполнения:
0,009 мс
Результат теста:ПРОГЛАСЕН
ТЕСТОВЫЙ СЛУЧАЙ №9
Ввод:
{'nums': [5, 5, 6, 7, 7] , 8, 8, 1, 1, 4, 5, 5, 5]
Ожидаемый результат:
7
Фактический результат :
7
Время выполнения:
0,006 мс
Результат теста:
ПРОГЛАСЕН
ТЕСТОВЫЙ СЛУЧАЙ №10
Ввод:
{'nums': [6, 6, 6, 6, 1, 6]
Ожидаемый результат:
4
Фактический результат:
-1
Время выполнения:
0,014 мс
Результат теста:
FAILED
ТЕСТОВЫЙ СЛУЧАЙ № 11
Ввод:
{'nums': [ 5, 5, 5, 5, 5, 5, 5]
Ожидаемый результат:
-1
Фактический результат:
-1Время выполнения:
0,009 мс
Результат теста:
ПРОГЛАСЕН
ТЕСТОВЫЙ СЛУЧАЙ №12< /p>
Ввод:
{'nums': [5, 1, 5, 5, 5, 5, 5]
Ожидаемый результат:
1
Фактический результат:
1
Время выполнения:
0,006 мс
Результат теста:
ПРОДАНО
ТЕСТОВЫЙ СЛУЧАЙ № 13
Ввод:
{'nums': [5, 6, 1, 1, 1, 1, 1, 4]}< /p>
Ожидаемый результат:
2
Фактический результат:
2
Время выполнения :
0,007 мс
Результат теста:
ПРОГЛАСЕН
ОБЗОР
ВСЕГО: 14, ПРОЙДЕН: 13 , FAILED: 1
Некоторые текстовые регистры пройдены, но регистр #10 или #12 не пройден.
Причина — lo , middle и привет равны, поэтому код путается, где идти влево или вправо.
Я хочу внести изменения в функцию условия, чтобы она могла решить эту проблему.
Подробнее здесь: https://stackoverflow.com/questions/792 ... duplicates