检查我们可以重新排列数组的程序,以区分 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