missing-number
let arr = [1, 3, 4, 5]
let result = arr
for i in 1...arr.count - 1 {
if !result.contains(i) {
print(i) // 2
}
}
let arr = [0, 1, 3, 4]
let result = arr
for i in 0..<arr.count {
if !result.contains(i) {
print(i) // 2
}
}
func missingNumber(_ nums: [Int]) -> Int {
let result = nums
for i in 0...nums.count {
if !nums.contains(i) {
return i
}
}
return -1
}
Best solution
let arr = [0,1]
let res = arr
for i in 0...arr.count {
if !res.contains(i) {
print(i)
}
}
Better Solution 1: Sum Formula (O(n))
func missingNumber(_ nums: [Int]) -> Int {
let n = nums.count
let expectedSum = n * (n + 1) / 2
let actualSum = nums.reduce(0, +)
return expectedSum - actualSum
}
Top comments (0)