简单地说,我有两个列表,我需要提取添加到其中的新元素。 我有以下从一个列表中提取不在另一个列表中的元素
val x = List(1,2,3)
val y = List(1,2,4)
val existing :List[Int]= x.map(xInstance => {
if (!y.exists(yInstance =>
yInstance == xInstance))
xInstance
})
Result :existing: List[AnyVal] = List((),(), 3)
我需要删除除了以最小的成本数字的所有其他元素。
注意:'exists'和'filter'是'O(N)',所以这个combi这里的国家是'O(N^2)' – retronym 2012-03-04 22:41:37
@retronym好的一点是,设置的解决方案肯定是更有效的解决方案,我只是尽可能地与原始代码相提并论。 – 2012-03-04 22:44:14
同样的事情,但更漂亮:'x.filterNot(y.contains)' – elbowich 2012-03-05 05:41:08