Написал программу для определения минимального количества прыжков, которое потребуется Эмме, чтобы перепрыгнуть из своей исходной позиции в последнее облако.
Вот полный вопрос: https://www.hackerrank.com/challenges/jumping-on-the-clouds/problem
Некоторые тестовые примеры не работают.
Пример 1:
Ввод: 1. 50
0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 0 1 0 0 0 1 0 0 1 0 0 0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0
Ожидаемый результат: 28
Пример 2:
Ввод: 1. 100
0 1 0 0 0 0 0 1 0 1 0 0 0 1 0 0 1 0 1 0 0 0 0 1 0 0 1 0 0 1 0 1 0 1 0 1 0 0 0 1 0 1 0 0 0 1 0 1 0 1 0 0 0 1 0 1 0 0 0 1 0 1 0 0 0 1 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 0 1 0 1 0 1 0 1 0 0 0 0 0 0 1 0 0 0
Ожидаемый результат: 53
Пример 3:
Ввод: 1. 100.
0 1 0 1 0 1 0 1 0 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 1 0 0 1 0 1 0 0 1 0 1 0 1 0 0 0 0 1 0 0 1 0 0 1 0 1 0 0 1 0 1 0 0 1 0 1 0 1 0 1 0 0 0 1 0 1 0 0 0 1 0 1 0 0 0 1 0 1 0 1 0 0 0 0 1 0
Ожидаемый результат: 54
Пример 4:
85
0 1 0 1 0 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 1 0 1 0 0 1 0 0 0 1 0 1 0 0 0 1 0 1 0 1 0 1 0 0 0 1 0 0 0 0 0 1 0 1 0 1 0 0 1 0 1 0 1 0 0 1 0 0 0 0 1 0 0 1 0 0 0 1 0 0 1 0 1 0
Ожидаемый результат: 46
ВЫШЕ 4 ТЕСТОВЫХ СЛУЧАЯ НЕ ОТКАЗЫВАЮТСЯ ДЛЯ ПРОГРАММЫ, ПРЕДОСТАВЛЕННОЙ НИЖЕ.
В чем проблема с приведенным ниже кодом, который не дает желаемого результата?
def jumpingOnClouds(c):
moves = 0
i=0
while i < len(c)-1:
if c[i] == 0:
try:
if c[i]==c[i+2]:
moves+=1
i+=2
except:
pass
try:
if c[i]==c[i+1]:
moves+=1
i+=1
except:
pass
return moves