gpt4 book ai didi

java - 在两个排序列表中查找匹配项比使用 for 循环更好的方法?

转载 作者:搜寻专家 更新时间:2023-10-31 19:28:38 27 4
gpt4 key购买 nike

我有两个排序列表,都按非递减顺序排列。例如,我有一个包含元素 [2,3,4,5,6,7...] 的排序链表,另一个包含元素 [5,6,7, 8,9...]

我需要在两个列表中找到所有公共(public)元素。我知道我可以使用 for 循环和嵌套循环来迭代所有匹配项以找到相同的两个元素。但是,有没有另一种运行时间小于 O(n^2) 的方法?

最佳答案

您可以在 O(n) 时间内完成。伪代码:

a = list1.first
b = list2.first
repeat:
if a == b:
output a
a = list1.next
b = list2.next
elif a < b:
a = list1.next
else
b = list2.next
until either list has no more elements

关于java - 在两个排序列表中查找匹配项比使用 for 循环更好的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19129382/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com