gpt4 book ai didi

java - 找到 4 个元素的公共(public)元素

转载 作者:行者123 更新时间:2023-11-30 07:09:07 25 4
gpt4 key购买 nike

我有一张 map TreeMap<Integer, Set<Integer>> adjacencyLists和一个整数集 TreeSet<Integer> specialNodes .

map 表示图的邻接表。

我想从 adjacencyLists 中挑选 key 并在 specialNodes 中查找它们是否有共同的邻接点.

有没有办法有效地做到这一点?

示例:

adjacencyLists如下:

[1, [2 3 4 5]]
[2, [1 5]]
[3, [1 4 5]]
[4, [1 3]]
[5, [1 2 3]]

specalNodes如下:

[1 3 4 5]

在这个例子中,45存在于 adjacencyLists 的第一个和第三个条目的值中.

因此,写一个函数findCommon(1,3)应该给我[4 5]
同样,findCommon(1,5)应该返回 null因为 '2' 是唯一不在 specialNodes 中的常见元素.

最佳答案

这是一个循序渐进的过程。

  1. 从键中获取两个值。 O(logn)
  2. 对它们进行排序。 O(nlogn)
  3. 找到 common elements . O(m+n)
  4. specialNodes 中搜索公共(public)元素。 O(m+n)

因此最坏情况下的时间复杂度 = O(nlogn)

关于java - 找到 4 个元素的公共(public)元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23430459/

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