次のような 2 つのセットがあるとします。
A = { 1, 4, 7, 10, 11, 12 }
B = { a, b, x, y, z }
そして、A の要素が B の別の要素に関連しているかどうかを判断する関数があります。
bool isRelated(a, b)
関連する要素がない A と B から要素を削除したい。どうすればそれを達成できますか?1つの簡単な方法は次のとおりです。
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
私には非常に非効率に見えます。より良い方法はありますか?もっと良い方法があるはずですか?