Проблема двоичного поиска: исправление неудачных тестовых случаев с помощью повернутого массива и дубликатов [закрыто]Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Проблема двоичного поиска: исправление неудачных тестовых случаев с помощью повернутого массива и дубликатов [закрыто]

Сообщение Anonymous »

defbinary_search(ло, привет, условие):

Код: Выделить всё

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
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»