获取一个数组aar,返回aar 无重复,连续,最长的 子数组。无重复意思是:所有的元素都不相同。连续的意识是:不跳跃 例如:A[ P, T,U,i,T] 子数组[P,T]是连续的,子数组[P,U] 则不连续【杭州多测师】【杭州多测师_王sir】

import copy

def func(value):
    '''
    所有的元素不同
    :return:
    '''

    num = []
    list1 = []
    list2 = []
    list3 = []
    i = -1
    for j in value:
        i += 1
        num.clear()
        for k in value[i:]:
            num.append(k)
            a = copy.deepcopy(num)
            list1.append(a)
    for n in list1:
        set1 = set(n)
        list4 = list(set1)
        list2.append(list4)
    for m in list2:
        if m not in list3:
            list3.append(m)
    print(list3)

aar =  [1,3,5,5,7,9]
func(aar)

 

posted @ 2021-12-03 10:45  多测师_王sir  阅读(43)  评论(0编辑  收藏  举报