🎉 恭喜! 🎉
你出色地完成了任务!这是一个不小的挑战,但你找到了正确答案。你离编程大师又近了一步!继续保持,每一步都让你更强大。
在遥远的XB-103星球上,一台研究型机器人地质学家从传送带上收集矿物样本。每种矿物都有其独特的数字标识符(ID)。机器人控制系统需要尽可能高效地工作,因此,为了优化机器人的存储,在轮班结束时只需向中央计算机传输一个数字:同一类型样本连续序列的最大长度。当遇到ID为0的特殊校准样本时,机器人的轮班结束。
给定一个矿物ID的数字序列。该序列始终以数字0结尾,0表示轮班结束,并非矿物的ID。请确定该序列中连续相同ID的最大数量。
输入若干个自然数,每个数占一行。序列以数字 0 结束。
一个数字——相同元素连续序列的最大长度。
1
7
7
7
2
2
9
0
3
# Инициализируем переменные для подсчета
# max_len - хранит максимальную найденную длину серии
# current_len - хранит длину текущей серии одинаковых чисел
# prev_n - хранит предыдущее число для сравнения с текущим
max_len = 0
current_len = 0
# Используем -1 как начальное значение, так как ID минералов - натуральные числа
prev_n = -1
# Запускаем бесконечный цикл, который прервется при вводе 0
while True:
# Считываем очередной ID и преобразуем его в целое число
n = int(input())
# Условие выхода из цикла - конец смены
if n == 0:
break
# Сравниваем текущий ID с предыдущим
if n == prev_n:
# Если они равны, увеличиваем счетчик текущей серии
current_len += 1
else:
# Если числа не равны, значит серия прервалась.
# Сначала проверяем, не была ли закончившаяся серия самой длинной
if current_len > max_len:
max_len = current_len
# Начинаем новую серию с текущего числа. Ее длина равна 1.
current_len = 1
# Обновляем "предыдущее" число
prev_n = n
# После завершения цикла нужно выполнить еще одну проверку.
# Это необходимо для случая, когда самая длинная серия оказалась в самом конце
# последовательности, прямо перед нулем.
if current_len > max_len:
max_len = current_len
# Выводим результат
print(max_len)
🎉 恭喜! 🎉
你出色地完成了任务!这是一个不小的挑战,但你找到了正确答案。你离编程大师又近了一步!继续保持,每一步都让你更强大。
AD
广告
正在运行代码...