私は数時間頭をかいていて、助けを借りることができました...
オブジェクトのリストが3つあります。各リストには同じオブジェクトを含めることができます(ただし、含める必要はありません)。各リストに少なくとも1つの一意のオブジェクトがあるかどうかをテストするアルゴリズムが必要です。
編集:アイテムは各リストに1回だけ含めることができますが、複数のリストに含めることができます。
編集:疑似4番目のリストがあります-3つのリストのそれぞれから1つのアイテム。それはユニークを含まなければならないリストです。各リストには、全体で3つのアイテムが含まれる可能性があります。4番目のリストには一意のものが含まれている可能性があるため、これはtrueを返すはずです。
編集:これは私がこれまでに思いついたものですが、これがどれほど効率的であるか、またはそれが機能するかどうかはわかりません!
bool Uniques( List<Item> list1, List<Item> list2, List<Item> list3 ) {
foreach( Item item1 in list1 ) {
foreach( Item item2 in list2 ) {
if ( item1!=item2 ) {
foreach( Item item3 in list3 ) {
if ( item3!=item1 && item3!=item2 ) return true;
}
}
}
}
return false;
}
編集:説明のために、ここに例があります。
色の全体的なリストから:赤、緑、青、黄、シアン、マゼンタ、白、黒、オレンジ、紫。
リスト1には赤が含まれ、緑
リスト2には赤が含まれます
リスト3には青が含まれ、オレンジ
はFALSEになります
リスト1には赤、緑が含まれ
ていますリスト2には赤、緑が
含まれていますリスト3には赤、緑が含まれてい
ます結果はFALSEになります
リスト1には赤、緑が含ま
れていますリスト2には黄色が含まれています
リスト3には赤、緑が含まれています
結果はTRUEになります