HTMLify

LeetCode - Find Missing and Repeated Values - Go
Views: 1 | Author: abh
func sort(list []int) []int {
    for i:=0; i<len(list); i++ {
        for j:=i; j<len(list); j++ {
            if list[j] < list[i] {
                list[i], list[j] = list[j], list[i]
            }
        }
    }
    return list
}
func contain(target int, list []int) bool {
    for _, v := range list {
        if v == target {
            return true
        }
    }
    return false
}
func findMissingAndRepeatedValues(grid [][]int) []int {
     var flat, seen []int
     for _, row := range grid {
        for _, cell := range row {
            flat = append(flat, cell)
        }
     }
     flat = sort(flat)
     missing := 1
     for _, v := range flat {
        if v == missing {
            missing++
        }
     }
     var double int
     for _, v := range flat {
        if contain(v, seen) {
            double = v
            break
        }
        seen = append(seen, v)
     }
     return []int{double, missing}
}

Comments