Swift 与多个数组相交
Swift intersect multiple array
我有一个数组的数组,大小是动态的,我想找到A中的公共元素。
A = [ [1,2,3], [2,4,6,1], [3,6,2,1], [1,1,1],.. ].
For above Array A the common element is 1
我怎样才能高效地实现目标?我可以循环查找,但我想知道最有效的解决方案?
给定一个数组数组
let lists = [[1,2,3], [2, 3, 4], [3, 4, 5]]
你可以找到写
的共同元素
let firstList = lists.first ?? []
let commonElements = lists.reduce(Set(firstList)) { (result, list) in
result.intersection(list)
}
结果
print(commonElements) // [3]
我有一个数组的数组,大小是动态的,我想找到A中的公共元素。
A = [ [1,2,3], [2,4,6,1], [3,6,2,1], [1,1,1],.. ].
For above Array A the common element is 1
我怎样才能高效地实现目标?我可以循环查找,但我想知道最有效的解决方案?
给定一个数组数组
let lists = [[1,2,3], [2, 3, 4], [3, 4, 5]]
你可以找到写
的共同元素let firstList = lists.first ?? []
let commonElements = lists.reduce(Set(firstList)) { (result, list) in
result.intersection(list)
}
结果
print(commonElements) // [3]