欧德奈瑞 发表于 2020-12-21 22:54:54

求助 最长相等子序列长度 Python

7-4 最长相等子序列长度
给定一个有n个元素的整数数组b,b中连续的相等元素构成的子序列称为平台。设计一个算法求b中最长平台的长度。

输入格式:
第一行为一个数字m,表示下面有m组数据,每组数据包括2行或者1行,n>0时,每组数据中的第一行表示数组的长度n(n<=20),第二行表示数组的所有元素;空表n=0时,只有一行输入。

输出格式:
输出最长平台的长度。(注:当n=0时,输出0。)

输入样例:
在这里给出一组输入。例如:
2
8
11 3 8 8 8 8 8 7
10
11 3 3 25 7 8 8 8 8 8
输出样例:
在这里给出相应的输出。例如:
5
5

逃兵 发表于 2020-12-22 16:55:47

本帖最后由 逃兵 于 2020-12-22 17:00 编辑


def showmax(lt):

    index1 = 0                     #记录出现次数最多的元素下标

    max = 0                        #记录最大的元素出现次数

    for i in range(len(lt)):

      flag = 0                  #记录每一个元素出现的次数

      for j in range(i+1,len(lt)): #遍历i之后的元素下标

            if lt == lt:

                flag += 1         #每当发现与自己相同的元素,flag+1

      if flag > max:            #如果此时元素出现的次数大于最大值,记录此时元素的下标
            max = flag
            index1 = i

    return lt               #返回出现最多的元素
m=int(input())
lst=[]
while m:
    n = int(input())
    if n !=0:
      lstn =
    else:
      lstn = []
    lst.append(lstn)

    m-=1
for i in lst:
    try:
      print(showmax(i))
    except:
      pass

欧德奈瑞 发表于 2020-12-23 21:24:29

逃兵 发表于 2020-12-22 16:55


大佬 要返回的不是出现最多的元素 是该元素的次数哦(输出格式:输出最长平台的长度。)

逃兵 发表于 2020-12-25 13:07:29

欧德奈瑞 发表于 2020-12-23 21:24
大佬 要返回的不是出现最多的元素 是该元素的次数哦(输出格式:输出最长平台的长度。)


def showmax(lt):

    index1 = 0                     #记录出现次数最多的元素下标

    max = 0                        #记录最大的元素出现次数

    for i in range(len(lt)):

      flag = 0                  #记录每一个元素出现的次数

      for j in range(i+1,len(lt)): #遍历i之后的元素下标

            if lt == lt:

                flag += 1         #每当发现与自己相同的元素,flag+1

      if flag > max:            #如果此时元素出现的次数大于最大值,记录此时元素的下标
            max = flag
            index1 = i

    return lt.count(lt)               #返回出现最多的元素的次数
m=int(input())
lst=[]
while m:
    n = int(input())
    if n !=0:
      lstn =
    else:
      lstn = []
    lst.append(lstn)

    m-=1
for i in lst:
    try:
      print(showmax(i))
    except:
      pass

欧德奈瑞 发表于 2020-12-26 07:00:10

感谢大佬的帮助{:10_297:}
页: [1]
查看完整版本: 求助 最长相等子序列长度 Python