以下是一个示例代码,演示了如何将数组按照常见值进行分离。
def separate_array_by_common_values(arr):
common_values = [] # 存储常见值
unique_values = [] # 存储非常见值
# 计算每个元素的频率
freq = {}
for num in arr:
if num in freq:
freq[num] += 1
else:
freq[num] = 1
# 将元素分为常见值和非常见值
for num, count in freq.items():
if count > 1:
common_values.extend([num] * count)
else:
unique_values.append(num)
return common_values, unique_values
# 测试示例
arr = [1, 2, 3, 4, 2, 3, 4, 5, 6, 7, 8, 9, 4, 5, 6]
common, unique = separate_array_by_common_values(arr)
print("常见值:", common)
print("非常见值:", unique)
输出结果为:
常见值: [2, 2, 3, 3, 4, 4, 4, 5, 5, 6, 6]
非常见值: [1, 7, 8, 9]
在这个示例中,首先使用字典 freq 计算每个元素的频率。然后,遍历 freq,将频率大于1的元素添加到 common_values 列表中,将频率为1的元素添加到 unique_values 列表中。最后返回这两个列表,分别表示常见值和非常见值。