题目91:已知一个数组,这个数组的一个平台(Plateau)就是连续的一串值相同的元素,并且这一串元素不能再延伸。试编写一个程序,接收一个数组,把这个数组最长的平台找出来。

2022/3/21 11:58:38

本文主要是介绍题目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))

运行结果:

 



这篇关于题目91:已知一个数组,这个数组的一个平台(Plateau)就是连续的一串值相同的元素,并且这一串元素不能再延伸。试编写一个程序,接收一个数组,把这个数组最长的平台找出来。的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程