检查数组是否包含特定的数字列表

2024-04-18 10:32:45 发布

您现在位置:Python中文网/ 问答频道 /正文

给定一个X整数和整数Q的p,检查p是否包含数字1,2,…,Q

例如,给定以下数组p和Q=3

P[0] = 1
P[1] = 1
P[2] = 2
P[3] = 3
P[4] = 3

函数应返回True。在

以下是我所得到的,但我不确定我是否正确?在

^{pr2}$

Tags: 函数true数字整数数组pr2
2条回答

将数组转换为集合,并将该集合与1到K之间所有整数的集合进行比较:

set(A)==set(range(1,K+1))

作为额外的好处,A不再需要排序。在

我知道你的问题,数组需要增加1或者从I到I+1相同。因此,您需要更改if语句中的符号。在

def solution(A, K):
    n = len(A)
    for i in xrange(n - 1):
        if (A[i] != A[i + 1] and A[i] + 1 != A[i + 1]):
            return False
    if (A[0] != 1 or A[n - 1] != K):
        return False
    else:
        return True

>>>solution([1,2,3],3)
True
>>>solution([1,2,2,3,3],3)
True
>>>solution([1,2,3],4)
False
>>>solution([1,2,3],2)
False

相关问题 更多 >