使用 Python 查找双对数组的程序
假设我们有一个长度为偶数的被调用的nums数组,我们必须检查是否可以将其重新排序为nums[2*i+1]=2*nums[2*i]foreach0<=i 因此,如果输入类似于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