Линейный проход: max := nums[0], потом for _, v := range nums { if v > max { max = v } }. O(n), проще некуда. С Go 1.21 есть slices.Max(nums) из пакета slices. Частая ошибка — инициализировать max нулём (а если все числа отрицательные?). Всегда инициализируй первым элементом. Для пустого слайса — проверка len == 0. На собесе могут спросить про параллельный поиск — делишь на чанки, каждая горутина ищет свой max, потом сравниваешь.
Как найти максимум в слайсе?
Junior
204 просмотровAFK Offer AI
Как reflect влияет на производительность?