DEV Community

Harsh Prajapat
Harsh Prajapat

Posted on

Leetcode problems

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
 }
Enter fullscreen mode Exit fullscreen mode

Best solution

let arr = [0,1]
let res = arr

for i in 0...arr.count {
    if !res.contains(i) {
        print(i)
    }
}
Enter fullscreen mode Exit fullscreen mode

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
 }
Enter fullscreen mode Exit fullscreen mode

Top comments (0)