在Python中检查元素频率是否为偶数的程序
我们假设有一个名为nums的元素列表,我们必须检查所有数字是否出现偶数次。我们必须使用恒定的空间来解决它。
因此,如果输入是nums = [8,9,9,8,5,5],那么输出将为True,因为所有数字都出现了两次。
要解决此问题,我们将遵循以下步骤 –
- 如果nums的大小是奇数,则
- 返回False
- 将列表nums排序
-
对于范围1到nums的大小,执行以下操作 –
- 如果nums[i]与nums[i – 1]相同,则
- nums[i]:= 0,
-
nums[i – 1]:= 0
- 如果nums[i]与nums[i – 1]相同,则
-
总和所有出现在nums中的元素等于0时返回true,否则为false
示例
让我们看以下代码实现以获得更好的理解
def solve(nums):
if len(nums) & 1:
return False
nums.sort()
for i in range(1, len(nums)):
if nums[i] == nums[i - 1]:
nums[i] = nums[i - 1] = 0
return sum(nums) == 0
nums = [8, 9, 9, 8, 5, 5]
print(solve(nums))
输入
[8, 9, 9, 8, 5, 5]
输出
True