Ближайший ноль. Проблемы с выносом констант
Помогите исправить замечания по коду. Нужно вынести константу как ключевой аргумент интерфейса функции и объявить список с индексами нулей в начале алгоритма.
def nearest_zero (n, street) -> str:
neighbours = [0]*n
if street[0] != 0:#Задать константу как ключевой аргумент интерфейса функции
neighbours[0] = n
for i in range(1, n):
if street[i] == 0:
neighbours[i] = 0#Стоит объявить список с индексами нулей в начале алгоритма.
else:
neighbours[i] = neighbours[i - 1] + 1
for i in range(n-2, -1, -1):
if street[i] == 0:
neighbours[i] = 0#Стоит объявить список с индексами нулей в начале алгоритма.
else:
neighbours[i] = min(neighbours[i], neighbours[i + 1] + 1)
answer = " ".join(map(str, neighbours))
return answer
if __name__ == "__main__":
n = int(input())
street = [int(i) for i in input().split()]
print(nearest_zero(n, street))
Источник: Stack Overflow на русском