Middle — Senior
33
Как найти максимальное число в массиве, которое встречается только один раз?
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
Чтобы найти максимальное число в массиве, которое встречается ровно один раз, можно выполнить следующие шаги:
- Подсчитать количество вхождений каждого числа (например, с помощью словаря/хэш-таблицы).
- Отфильтровать числа, которые встречаются только один раз.
- Найти максимальное из этих чисел.
Пример на Go:
package main
import (
"fmt"
)
func maxUnique(nums []int) (int, bool) {
counts := make(map[int]int)
for _, num := range nums {
counts[num]++
}
maxVal := 0
found := false
for num, count := range counts {
if count == 1 {
if !found || num > maxVal {
maxVal = num
found = true
}
}
}
return maxVal, found
}
func main() {
arr := []int{2, 3, 5, 3, 7, 5, 8}
if maxNum, ok := maxUnique(arr); ok {
fmt.Println("Максимальное число, встречающееся один раз:", maxNum)
} else {
fmt.Println("Нет чисел, встречающихся ровно один раз")
}
}
Если в массиве нет чисел, которые встречаются ровно один раз, функция возвращает false во втором параметре.