给定一个对象列表和一个非传递相等函数,当两个对象相等时返回 true,否则返回 false,我需要找到至少两个对象相等的所有最大子列表。例如 -
val list = List(o1, o2, o3, o4, o5)
和,
isEqual(o1, o2) => true
isEqual(o2, o4) => true
isEqual(o3, o5) => true
结果将是:
List(o1, o2, o4)
List(o3, o5)
请注意,isEqual 是不可传递的,即在上述情况下,即使它们属于同一个子列表,它们o1
也可能不等于。o4