RosettaCodeData/Task/Remove-duplicate-elements/Swift/remove-duplicate-elements-2...

11 lines
225 B
Swift

func uniq<T: Hashable>(lst: [T]) -> [T] {
var seen = Set<T>(minimumCapacity: lst.count)
return lst.filter { x in
let unseen = !seen.contains(x)
seen.insert(x)
return unseen
}
}
println(uniq([3,2,1,2,3,4]))