大量不同长度数组同顺序对比得到与原全部数组零重复的所有顺序数字
时间: 2024-03-09 15:46:08 浏览: 54
数组的顺序表示和实现-数据结构第五章数组与广义表
如果要求得到的所有数字都是顺序数字,可以简单地将原始数组展开成一个一维数组,然后按照顺序遍历这个数组,将不重复的数字加入到结果数组中。
以下是一个示例 Python 程序,它实现了这个算法:
```python
def get_ordered_unique_numbers(arrs):
# 展开数组
flat_arr = [num for arr in arrs for num in arr]
# 遍历数组,提取顺序数字
unique_numbers = []
last_num = None
for num in flat_arr:
if num != last_num:
unique_numbers.append(num)
last_num = num
return unique_numbers
# 示例用法
arrs = [[3, 4, 1], [2, 5, 4, 6], [7, 8]]
unique_numbers = get_ordered_unique_numbers(arrs)
print(unique_numbers) # 输出 [3, 4, 1, 2, 5, 6, 7, 8]
```
这个程序实现了以下步骤:
1. 将所有数组展开成一个一维数组。
2. 遍历这个一维数组,对于每个数字,如果它和上一个数字不相同,则将它添加到结果数组中。
3. 返回结果数组。
在演示用法中,我们将三个数组传递给 `get_ordered_unique_numbers` 函数,它返回一个包含所有顺序数字的数组。输出结果是 `[3, 4, 1, 2, 5, 6, 7, 8]`。注意,这个数组中的数字顺序与它们在原始数组中的顺序相同。
阅读全文