【找出两个整数数组中同时出现的整数】Python实现
from collections import Counter
def find_common_elements(arr1, arr2):
# 统计数组中每个数字的出现次数
counter1 = Counter(arr1)
counter2 = Counter(arr2)
# 找出两个数组中同时出现的整数
common_elements = set(arr1) & set(arr2)
# 如果没有同时出现的整数,返回NULL
if not common_elements:
return "NULL"
# 统计每个共同元素在两个数组中的最小出现次数
count_dict = {}
for num in common_elements:
count_dict[num] = min(counter1[num], counter2[num])
# 根据出现次数进行分类
grouped = {}
for num, count in count_dict.items():
if count not in grouped:
grouped[count] = []
grouped[count].append(num)
# 输出结果
result = []
for count in sorted(grouped.keys()):
result.append(f"出现次数:{count}:" + ",".join(map(str, sorted(grouped[count]))))
return "\n".join(result)
# 输入处理
arr1 = list(map(int, input().split(',')))
arr2 = list(map(int, input().split(',')))
# 调用函数并输出结果
print(find_common_elements(arr1, arr2))