从一些不同长度的顺序数组对比去重找到与原来所有数组不重复数字集合
时间: 2024-04-09 13:27:17 浏览: 103
不重复的数字个数
如果你想找到与原来所有数组都不重复的数字集合,可以使用以下方法:
1. 创建一个空的集合(Set),命名为`unique_set`,用于存储不重复的数字。
2. 创建一个空的字典(Dictionary),命名为`count_dict`,用于记录数字在数组中出现的次数。
3. 遍历每个数组,对于每个数组:
- 遍历数组中的每个元素。
- 如果元素不在`count_dict`中,则将其添加到`count_dict`中,并初始化其计数为1。
- 如果元素已经在`count_dict`中,则将其计数加1。
4. 遍历`count_dict`中的每个键值对,对于每个键值对:
- 如果值为1,则将对应的键添加到`unique_set`中。
5. 最终,`unique_set`中将包含所有与原来所有数组都不重复的数字。
以下是一个示例代码,演示了如何实现该算法:
```python
def find_unique_numbers(arrays):
unique_set = set()
count_dict = {}
for array in arrays:
for num in array:
if num not in count_dict:
count_dict[num] = 1
else:
count_dict[num] += 1
for num, count in count_dict.items():
if count == 1:
unique_set.add(num)
return unique_set
# 示例用法
arrays = [[1, 2, 3], [2, 3, 4, 5], [4, 5, 6, 7, 8, 9]]
unique_numbers = find_unique_numbers(arrays)
print(unique_numbers) # {1, 6, 7, 8, 9}
```
在这个示例中,我们有三个数组,分别是`[1, 2, 3]`,`[2, 3, 4, 5]`和`[4, 5, 6, 7, 8, 9]`。通过使用`find_unique_numbers`函数,我们得到了与这些数组都不重复的数字集合为`{1, 6, 7, 8, 9}`。
阅读全文