20个不同长度数组同顺序对比取得与原所有数组不重复的数字,要求如果有相邻相同的数字直接跳过
时间: 2024-03-17 12:42:41 浏览: 58
你可以在原来的哈希表基础上增加一个变量来记录上一个数字,然后在遍历数组时检查当前数字是否与上一个数字相同。如果相同,则直接跳过。具体实现可以参考以下代码:
```python
def get_unique_numbers(arrays):
# 创建一个空的哈希表和一个变量来记录上一个数字
hash_table = {}
last_num = None
# 将原始数组中的元素存入哈希表中
for array in arrays:
for num in array:
if num not in hash_table:
hash_table[num] = True
result = []
# 遍历原始数组,对于每个数组,创建一个新的空数组
for array in arrays:
unique_nums = []
# 遍历数组中的元素
for num in array:
# 如果该元素在哈希表中存在并且没有在新的数组中出现过,就将该元素添加到新的数组中
if num in hash_table and num not in unique_nums and num != last_num:
unique_nums.append(num)
last_num = num
# 将新的数组合并到结果数组中
result += unique_nums
# 返回结果数组
return result
```
这个函数的基本结构与之前的函数相同,只是增加了一个变量 `last_num` 来记录上一个数字,并在遍历数组时进行了检查。
阅读全文