题目91:已知一个数组,这个数组的一个平台(Plateau)就是连续的一串值相同的元素,并且这一串元素不能再延伸。试编写一个程序,接收一个数组,把这个数组最长的平台找出来。
作者:互联网
题目转载:http://python.wzms.com/s/1/55
题目描述:
已知一个数组,这个数组的一个平台(Plateau)就是连续的一串值相同的元素,并且这一串元素不能再延伸。例如,在 1,2,2,3,3,3,4,5,5,6中1,2-2,3-3-3,4,5-5,6都是平台。试编写一个程序,接收一个数组,把这个数组最长的平台找出 来。在上面的例子中3-3-3就是最长的平台。
输入格式:
第一行有一个整数n(n <= 1000),为数组元素的个数。第二行有n个整数,整数之间以一个空格分开。
输出格式:
输出最长平台的长度。
代码:
n = int(input())
array_list = list(map(int, input().split()))
# 第一步:将输入的数组切割成多个具有连续相同元素的字符串,并存入到列表中
sub_number = '#'
sub_number_list = []
for index in range(len(array_list)-1):
sub_number = sub_number + str(array_list[index])
if array_list[index] != array_list[index + 1]:
sub_number_list.append(sub_number[1:])
sub_number = '#'
if index == len(array_list)-2:
sub_number = sub_number + str(array_list[index + 1])
sub_number_list.append(sub_number[1:])
# 第二步:把每个子字符串的长度存入到列表中,并打印出最大的子字符串长度
sub_number_len = []
for Plateau in sub_number_list:
sub_number_len.append(len(Plateau))
print(max(sub_number_len))
运行结果:
标签:index,sub,元素,list,number,一串,数组,array 来源: https://blog.csdn.net/run_noob_vip/article/details/123630971