检查我们可以重新排列数组的程序,以区分 Python 中每对相同的元素
假设我们有一个名为nums的列表,我们必须检查是否可以重新排列nums的顺序,使每对连续两个数字之间的差异相同。
所以,如果输入像nums=[8,2,6,4],那么输出就会是True,因为如果我们像[2,4,6,8]那样重新排列nums,那么每两对之间的差异连续数为2。
示例
让我们看下面的实现来更好地理解
def solve(nums):
N = len(nums)
if N <= 2:
return True
nums.sort()
targetDiff = nums[1] - nums[0]
for i in range(2, N):
if nums[i] - nums[i - 1] != targetDiff:
return False
return True
nums = [8, 2, 6, 4]
print(solve(nums))输入
[8, 2, 6, 4]输出结果
True