假设我们有一个长度为偶数的被调用的 nums 数组,我们必须检查是否可以将其重新排序为 nums[2*i + 1] = 2*nums[2*i] for each 0 < = i < nums 的大小/2。
因此,如果输入类似于 nums = [4,-2,2,-4],那么输出将为 True。
让我们看看以下实现以获得更好的理解 -
from collections import Counter def solve(nums): cnt = Counter(nums) for x in sorted(cnt, key=abs): if cnt[x] > cnt[2 * x]: return False cnt[2 * x] -= cnt[x] return True nums = [4,-2,2,-4] print(solve(nums))
[6,0,8,2,1,5]输出结果
True