需要帮助 Python 解决 hackerrank 问题

Need help in Python hackerrank problem solving

所以,我被一个问题困住了,我不确定我的代码做错了什么。

问题是-给定一个整数数组,找到任意两个元素的绝对差小于或等于的最长子数组。 示例 a = [1,1,2,2,4,4,5,5,5]
有两个子数组满足条件:和.
最大长度子数组有元素。
[1,1,2,2][4,4,5,5,5]

Returns int: 满足条件的最长子数组的长度

或访问 link Hackerrank Problem

def pickingNumbers(a):
    a.sort()
    answer = 0
    flag = False
    for i in range(len(a)-1,1,-1):
        count = 0
        temp = [list(l) for l in list(itertools.combinations(a,i))]
        for j in temp:
            for k in range(len(j)-1):
                if abs( j[k+1] - j[k] ) <= 1:
                    count +=1
            if count == len(j):
                answer = len(j)
                break

请注意,该语句要求您查找子数组,而不是子序列。子数组是来自父数组的连续元素链。在这里,只要给你的数组升序,你就可以通过对数组进行排序来破坏父数组的顺序。因此你的程序会给出错误的输出