如果我有这样一个二维数组:[[1,2,3],[3,2,1],[4,9,3]],我希望能够找出在这个数组中有两个相同的数组,它们是[1,2,3]和[3,2,1]。我怎样才能做到这一点?如何检查一个二维数组中是否存在两个相同的数组? [Swift]
谢谢你所有的答案,我专注于leetCode threeSum问题,所以我没有留下任何评论。但由于我是一个编程noobie,我的答案超过了时间限制..所以我实际上想要找到重复的数组并删除所有重复项,并保留在多维数组中只有一个唯一的数组。我已经加入基于@奥列格的回答一些额外的代码,并认为我会把我的功能在这里:
func removeDuplicates(_ nums: inout [[Int]]) -> [[Int]]{
let sorted = nums.map{$0.sorted()}
var indexs = [Int]()
for (pos,item) in sorted.enumerated() {
for i in pos+1..<sorted.count {
if item == sorted[i] {
if nums.indices.contains(i){
indexs.append(i)
}
}
}
}
indexs = Array(Set<Int>(indexs))
indexs = indexs.sorted(by: {$0 > $1})
for index in indexs{
nums.remove(at: index)
}
return nums
}
我相信你尝试过* *不要害羞 - 显示你的尝试! (所以它看起来不像是一个“给我代码”的问题。) –