Solved Missing Number exercise

main
oabrivard 2 years ago
parent 0967a869ec
commit ed9b1418ab

@ -19,3 +19,29 @@ func WeirdAlgo(n int) string {
return fmt.Sprint(seq) return fmt.Sprint(seq)
} }
func MissingNumber(n int, numbers []int) int {
if n != len(numbers)+1 {
return -1
}
present := make([]bool, n)
for _, i := range numbers {
if i > n {
return -2
}
present[i-1] = true
}
for i, b := range present {
if !b {
return i + 1
}
}
return -3
}

@ -9,3 +9,8 @@ import (
func TestWeirdAlgo(t *testing.T) { func TestWeirdAlgo(t *testing.T) {
assert.Equal(t, "[3 10 5 16 8 4 2 1]", WeirdAlgo(3)) assert.Equal(t, "[3 10 5 16 8 4 2 1]", WeirdAlgo(3))
} }
func TestMissingNumber(t *testing.T) {
assert.Equal(t, 4, MissingNumber(5, []int{2, 3, 1, 5}))
assert.Equal(t, 7, MissingNumber(9, []int{2, 3, 1, 5, 4, 6, 9, 8}))
}

Loading…
Cancel
Save