На онлайн-экзамене по программированию меня попросили написать на Python функцию, которая будет получать входной список, содержащий последовательность нулей и единиц. В списке всегда есть хотя бы один элемент, и гарантируется, что все элементы имеют значения 0 и 1. Функция должна найти самую длинную подпоследовательность чередующихся нулей и единиц.
Пример:
Вход: [0]
Выход: 1< /p>
Вход: [0, 1, 0, 1, 0]
Выход: 5
Мой код работал для всех моих пользовательских тестов, но был прав только для 43% скрытых тестов их программного обеспечения для оценивания. Есть ли что-то, что мне здесь не хватает? Я не могу придумать никаких крайних случаев, если вход гарантированно не будет испорчен. Код:
def sequence(inputLst):
if len(inputLst) == 1:
return 1
biggest = 0
count = 1
print(inputLst)
for i in range(1, len(inputLst)):
if inputLst != inputLst[i-1]:
count += 1
else:
biggest = max(biggest, count)
count = 1
#print(f"loop {i} max:{biggest} count:{count} current:{inputLst}")
biggest = max(biggest, count)
return biggest
tests = [
([0, 1, 0, 1, 0], 5),
([1, 1, 0, 1, 0, 0], 4),
([0, 0, 0, 0], 1),
([1, 0, 1, 0, 1, 1, 0, 1, 0, 1], 5),
([1, 1, 1, 0, 1, 0, 1, 0, 1], 7),
([0, 1, 0, 1, 0, 1, 0, 1], 8),
([0], 1),
([0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1], 5),
([1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0], 7)
]
for i, (Sin, truth) in enumerate(tests):
Sout = sequence(Sin)
print(f"Test {i + 1}: {'OK' if Sout == truth else 'Fail'} | Expected: {truth}, Output: {Sout}")
Подробнее здесь: https://stackoverflow.com/questions/793 ... -0s-and-1s
Где мой код дает сбой? Самая длинная последовательность чередующихся нулей и единиц. ⇐ Python
Программы на Python
1736910995
Anonymous
На онлайн-экзамене по программированию меня попросили написать на Python функцию, которая будет получать входной список, содержащий последовательность нулей и единиц. В списке всегда есть хотя бы один элемент, и гарантируется, что все элементы имеют значения 0 и 1. Функция должна найти самую длинную подпоследовательность чередующихся нулей и единиц.
Пример:
Вход: [0]
Выход: 1< /p>
Вход: [0, 1, 0, 1, 0]
Выход: 5
Мой код работал для всех моих пользовательских тестов, но был прав только для 43% скрытых тестов их программного обеспечения для оценивания. Есть ли что-то, что мне здесь не хватает? Я не могу придумать никаких крайних случаев, если вход гарантированно не будет испорчен. Код:
def sequence(inputLst):
if len(inputLst) == 1:
return 1
biggest = 0
count = 1
print(inputLst)
for i in range(1, len(inputLst)):
if inputLst[i] != inputLst[i-1]:
count += 1
else:
biggest = max(biggest, count)
count = 1
#print(f"loop {i} max:{biggest} count:{count} current:{inputLst[i]}")
biggest = max(biggest, count)
return biggest
tests = [
([0, 1, 0, 1, 0], 5),
([1, 1, 0, 1, 0, 0], 4),
([0, 0, 0, 0], 1),
([1, 0, 1, 0, 1, 1, 0, 1, 0, 1], 5),
([1, 1, 1, 0, 1, 0, 1, 0, 1], 7),
([0, 1, 0, 1, 0, 1, 0, 1], 8),
([0], 1),
([0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1], 5),
([1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0], 7)
]
for i, (Sin, truth) in enumerate(tests):
Sout = sequence(Sin)
print(f"Test {i + 1}: {'OK' if Sout == truth else 'Fail'} | Expected: {truth}, Output: {Sout}")
Подробнее здесь: [url]https://stackoverflow.com/questions/79356977/where-does-my-code-fail-longest-sequence-of-alternating-0s-and-1s[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия