Не показывает вывод для алгоритма кодирования

Я застрял со следующей проблемой кодов:

Маленькая лягушка хочет попасть на другую сторону реки. В настоящее время лягушка находится в положении 0 и хочет попасть в положение X. Листья падают с дерева на поверхность реки.

Вам дан непустой массив с нулевым индексом A, состоящий из N целых чисел, представляющих падающие листья. [K] представляет положение, в котором один лист падает в момент времени K, измеренный в секундах.

Цель состоит в том, чтобы найти самое раннее время, когда лягушка может прыгнуть на другую сторону реки. Лягушка может пересекаться только тогда, когда листья появляются в каждой позиции через реку от 1 до X. Вы можете предположить, что скорость течения в реке пренебрежимо мала, то есть листья не меняют своего положения после падения в реку.

Например, вам дано целое число X = 5 и массив A такой, что:

A [0] = 1 A 1 = 3 A [2] = 1 A [3] = 4 A [4] = 2 A [5] = 3
A [6] = 5 A [7] = 4 Во второй 6 лист попадает в положение 5. Это самое раннее время, когда листья появляются в каждой позиции через реку.

Код, который я попробовал:

def solution(X, A):
    for i in range(len(A)):       
        if A[i] == X:
            L1 =  A[i:]         
            for j in L1:
                count = 0
                if (j < X and j not in A[:i]):
                    count += 1
                    return i+count
                else:    
                    return i
X = raw_input()
A = map(int, raw_input().split())
print solution(X,A)

Вы можете проверить полное описание вопроса здесь. Код работает только в некоторых случаях. Я совершенно новичок в питоне. Пожалуйста, дайте мне знать, где я делаю ошибку.

1 ответ

X = raw_input()

raw_input возвращает строку Строка никогда не сравнивается равной целому числу, поэтому if A[i] == X: никогда не будет оцениваться как True. Преобразуйте X в целое число перед вызовом solution,

X = int(raw_input())

Теперь ваш код будет выводить:

5
1 3 1 4 2 3 5 7
6

(... Хотя я не проверял, дает ли он правильный вывод. Лучше всего его сохранить для отдельного вопроса.)

Другие вопросы по тегам