【发布时间】:2013-02-22 08:16:48
【问题描述】:
假设我有 2 套像:
A = { 1, 4, 7, 10, 11, 12 }
B = { a, b, x, y, z }
我有一个函数可以确定 A 中的一个元素是否与 B 中的另一个元素相关:
bool isRelated(a, b)
我想从 A 和 B 中删除没有任何相关元素的元素。我怎样才能做到这一点?一种简单的方法是:
forEach a in A:
related = 0
forEach b in B:
if isRelated(a, b):
related++
break
if related == 0
A.remove(a)
// then I need to do something similar for B
在我看来效率很低。有没有更好的办法?一定会有更好的办法?
【问题讨论】:
标签: algorithm join inner-join