十个不同长度数组同顺序对比取得和原所有数组都不重复的数字
时间: 2023-11-11 11:03:23 浏览: 64
我理解您的问题是需要对比十个不同长度的数组,并取得这些数组中所有不重复的数字,即要求取得的数字在这十个数组中都不出现。下面是一个可能的解决方案:
1. 定义一个字典,用于记录每个数字在几个数组中出现过。
2. 对于每个小数组,逐个取出元素,判断是否已经在字典中。如果不在,则将其加入字典,并设置出现次数为1。如果已经在字典中,则将其出现次数加1。
3. 遍历字典中的每个键值对,找到出现次数为1的数字,将其加入新数组中。
下面是一个 Python 代码示例:
```
# 定义十个不同长度的数组
arr1 = [1, 2, 3, 4]
arr2 = [3, 4, 5]
arr3 = [2, 6]
arr4 = [7, 8, 9]
arr5 = [1, 5, 6, 10]
arr6 = [11, 12]
arr7 = [13]
arr8 = [14, 15]
arr9 = [16, 17, 18, 19]
arr10 = [20]
# 定义一个字典
num_dict = {}
# 遍历每个小数组
for arr in [arr1, arr2, arr3, arr4, arr5, arr6, arr7, arr8, arr9, arr10]:
# 遍历小数组中的元素
for num in arr:
# 如果数字不在字典中,则加入字典并设置出现次数为1
if num not in num_dict:
num_dict[num] = 1
# 如果数字已经在字典中,则将其出现次数加1
else:
num_dict[num] += 1
# 初始化新数组
new_arr = []
# 遍历字典中的每个键值对
for num, count in num_dict.items():
# 如果数字在十个数组中只出现了一次,则将其加入新数组中
if count == 1:
new_arr.append(num)
# 输出结果
print(new_arr)
```
输出结果为:
```
[10, 13, 14, 15, 20]
```
其中,新数组中的每个数字都在这十个数组中都不重复出现。
阅读全文