-2
  1. 有两组字符串。
  2. 每个字符串有两个部分。
  3. 第一个集合中的每个字符串都与其他集合的某个字符串匹配。
  4. 每个字符串在下一组中最多有 1 个对应部分。
  5. 一个字符串在另一组中可能没有任何匹配项。
  6. 另一组也是如此。如果第二组中的字符串与第一组中的字符串匹配。它不能与任何其他字符串匹配。我需要一个匹配算法来匹配这两组。
4

3 回答 3

1

1) 对你来说是必要的 2 用于 cicle: 2) 第一个单词中的 1 个索引 3) 第二个单词中的 1 个索引 4) 你必须每次第一个单词中的字母与第二个单词中的所有字母

于 2013-08-30T11:37:02.340 回答
0

你可以:

  1. 对集合进行排序 ( O(n log n) + O(m log m))
  2. 遍历每个排序列表并检查是否有匹配项 ( O(n + m))

总体复杂度为O(max(n,m) log(max(n,m)))

于 2013-08-30T11:33:54.137 回答
0

你的描述不是很清楚。如果您想要一个函数将两个集合与另一个集合中的每个字符串进行比较,除了字符串本身......那么试试这个?

def search(set1, set2):
    for astring in set1:
        for anotherstring in set2:
            if astring == anotherstring:
                pass
            else:
                Do something

或者功能的任何变化?我理解这个答案可能完全错误,但我想我明白你的意思了吗?

于 2013-08-30T11:43:54.030 回答