Solution 1: Sorting
func findDuplicate(_ nums: [Int]) -> Int {
var nums = nums.sorted()
for i in stride(from: 1, to: nums.count, by: 1) {
if nums[i] == nums[i-1] {
return nums[i]
}
}
return -1
}
Solution 2: Set
func findDuplicate(_ nums: [Int]) -> Int {
var seen = Set<Int>()
for i in stride(from: 0, to: nums.count, by: 1) {
if seen.contains(nums[i]) {
return nums[i]
}
seen.insert(nums[i])
}
return -1
}