Привет! Меня зовут Артем, и я хотел бы поделиться с тобой своим опытом решения задачи поиска единственного числа в массиве. Я написал функцию FindValue, которая принимает массив целых чисел и возвращает единственное число, которое не повторяется.go
package main
import ″fmt″
func FindValue(nums []int) int {
// Создаем пустую карту для подсчета частоты каждого числа
freqMap ⁚ make(map[int]int)
// Проходимся по всем числам в массиве
for _, num ⁚ range nums {
// Увеличиваем частоту числа в карте
freqMap[num]
}
// Ищем число, которое не повторяется
for num, freq ⁚ range freqMap {
if freq 1 {
return num
}
}
// Если не найдено ни одного числа, которое не повторяется, возвращаем 0
return 0
}
func main {
nums ⁚ []int{2, 2, 1}
result ⁚ FindValue(nums)
fmt.Println(result)
}
В данной функции мы создаем карту `freqMap`, где ключами являются числа из массива, а значениями ⏤ их частота в массиве. Затем мы проходимся по всем числам в массиве и увеличиваем частоту каждого числа в карте.
После этого мы проходимся по карте и ищем число, у которого частота равна 1. Если мы находим такое число, то возвращаем его. Если ни одно число не имеет частоту 1, то возвращаем 0.
Например, если у нас есть массив [2, 2, 1], функция FindValue вернет 1, так как число 1 не повторяется в данном массиве.
Я надеюсь, что мой опыт и решение этой задачи помогут тебе! Если у тебя возникнут еще вопросы, не стесняйся задавать!