找出ab两数组中 最后一个重复的位置
时间: 2023-09-05 09:00:22 浏览: 48
要找出数组a和数组b中最后一个重复的位置,我们可以使用两个指针分别在两个数组中进行遍历。
首先,我们需要定义一个哈希表,用于存储已经遍历过的元素及其在数组中的位置。
然后,我们分别从数组a和数组b的末尾开始遍历。如果当前元素不在哈希表中,我们将其添加到哈希表中,并将其位置作为值。如果当前元素已经在哈希表中,我们更新最后一个重复位置的值为当前位置。
最后,我们返回最后一个重复位置的值。
以下是示例代码:
```python
def find_last_duplicate(a, b):
hash_table = {}
last_duplicate = -1
# 遍历数组a,从末尾开始
for i in range(len(a)-1, -1, -1):
if a[i] not in hash_table:
hash_table[a[i]] = i
else:
last_duplicate = max(last_duplicate, hash_table[a[i]])
# 遍历数组b,从末尾开始
for i in range(len(b)-1, -1, -1):
if b[i] not in hash_table:
hash_table[b[i]] = i
else:
last_duplicate = max(last_duplicate, hash_table[b[i]])
return last_duplicate
```
这样,我们就能够找出数组a和数组b中最后一个重复的位置。