Python得最大S(K)求解答

img


N = int(input(""))
data = input("").strip().split(" ")
dataInt = [int(x) for x in data]
# 检查输入的数据是否合法
for i in dataInt:
    if i > N:
        print("输入的数据不合法,必须小于等于 {}".format(N))
else:
    # 设置一个集合
    s = set()
    # 观察得知,当遇到的数=下标加+1的时候,集合后面的元素都是重复元素
    for index,elem in enumerate(dataInt):
        s.add(elem)
        if elem == index + 1:
            break
    print(len(s))

结果:

img

如果觉得答案对你有帮助,请点击下采纳,谢谢~