Мне нужно написать программу, которая принимает входные данные с единицами нули и пытается найти самый длинный последовательный ряд нулей, не прерываемый единицами. (Мне удалось закодировать эту часть). Проблема возникает, когда мне нужно найти в списке 1 и 0, какие 1 я мог бы заменить на 0, чтобы сделать серию последовательных 0 самой длинной с разрешенной заменой g.
У меня возникают проблемы с математической записью, котораябыло бы полезно перенести его в код. Я уже написал программу, которая находит самую длинную серию последовательных нулей, я просто не могу кодировать вторую часть;вот что я уже сделал.
# Get File Ready To Read
with open("/Users/yannkull/Desktop/marathon-sub3-attempt1.txt", "r") as f:
current_line = f.readlines()
x = 2
while x < 202:
temp_list = []
for a in current_line[x]: # Format Line With Data
if a != ' ':
temp_list.append(a)
temp_list.remove(temp_list[len(temp_list) - 1])
k = int(current_line[x - 1]) # Recieve info line that tells us how many characters we have
a = 0
sums = []
while a < k: # Find the longest consecutive series of zeroes in one line
somme = 0
while temp_list[a] == '0':
somme += 1
a += 1
if a == k:
break
sums.append(somme) # Add the result to a list
a += 1
print("Case #", int(x / 2 - 1), ": ", max(sums), sep='') # Print the largest result for each case
x += 2
Я просто не имею ни малейшего понятия, как реализовать поставленную мной проблему в моем коде, чтобы кто-нибудь мог бы дать мне несколько советов, которые были бы хороши. Я открыт для использования NumPy, я просто не знаю, как это было бы полезно в этой ситуации. Я просто не думаю, что мой компьютер справится с этим путем грубой силы.