Найдите нечетное целое число

Messages
1,679
Reaction score
288
Website
tehadm.ru
Дан массив целых чисел, найдите то, которое встречается нечетное количество раз.

Всегда будет только одно целое число, которое встречается нечетное количество раз.

Примеры​

[7] должно вернуться 7, потому что оно встречается 1 раз (что нечетно).
[0] должно вернуться 0, потому что оно встречается 1 раз (что нечетно).
[1,1,2] должно вернуться 2, потому что оно встречается 1 раз (что нечетно).
[0,1,0,1,0] должно вернуться 0, потому что оно встречается 3 раза (что нечетно).
[1,2,2,3,3,3,4,3,3,3,2,2,1] должно вернуться 4, потому что оно встречается 1 раз (что нечетно).
 
C-like:
package main

import "fmt"

func main() {
    arr1 := []int{7}
    arr2 := []int{0}
    arr3 := []int{1, 1, 2}
    arr4 := []int{0, 1, 0, 1, 0}
    arr5 := []int{1, 2, 2, 3, 3, 3, 4, 3, 3, 3, 2, 2, 1}

    fmt.Println(FindOdd(arr1))
    fmt.Println(FindOdd(arr2))
    fmt.Println(FindOdd(arr3))
    fmt.Println(FindOdd(arr4))
    fmt.Println(FindOdd(arr5))
}

func FindOdd(seq []int) int {
    arrMap := make(map[int]int)

    for _, val := range seq {
        arrMap[val]++
    }

    for ind, val := range arrMap {
        if val%2 != 0 {
            return ind
        }
    }
    return 0
}
 
Back
Top