【解题思路】

我们可以遍历整个数组,计算每两个连续元素之间的差的绝对值,并将其加入到一个集合中。最后,我们判断这个集合是否包含了 [1, n-1] 之间的所有整数。

【Python代码】

n = int(input())
arr = list(map(int, input().split()))

# 定义一个集合,用来存储差的绝对值
diff_set = set()

for i in range(n-1):
    diff = abs(arr[i] - arr[i+1])
    diff_set.add(diff)

# 判断集合中是否包含了 [1, n-1] 之间的所有整数
if len(diff_set) == n-1 and min(diff_set) == 1 and max(diff_set) == n-1:
    print("YES")
else:
    print("NO")
你现在是python工程师【问题描述】一个 有n 个元素的整数数组如果数组两个连续元素之间差的绝对值包括了 1 n-1之间的所有整数则称之符合欢乐的跳如数组1423符合欢乐的跳因为差的绝对值分别为:321。给定一个数组你的任务是判断该数组是否符合欢乐的跳。【输入格式】输入共2行。第一行以一个整数 1≤1000开始第二行输入n个-100000100000之间的整数用空格隔开。【输出格式】对于每组测试

原文地址: http://www.cveoy.top/t/topic/hSd3 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录