Problema
Devuelve el valor más grande de la lista revisando cada elemento una sola vez.
Implementa array_maximum(numbers).
Entrada
numbers: Una lista no vacía de enteros.
Salida
Devuelve el máximo.
Restricciones
1 ≤ longitud ≤ 100,000
Ejemplos
Entrada:
numbers = [3, 9, 2]
Salida esperada:
expected = 9
Entrada:
std::vector<long long> numbers = {3, 9, 2};
Salida esperada:
long long expected = 9;
Entrada:
long[] numbers = new long[] {3, 9, 2};
Salida esperada:
long expected = 9;
Explicación
9 es mayor que 3 y 2.
Entrada:
numbers = [-4, -1, -7]
Salida esperada:
expected = -1
Entrada:
std::vector<long long> numbers = {-4, -1, -7};
Salida esperada:
long long expected = -1;
Entrada:
long[] numbers = new long[] {-4, -1, -7};
Salida esperada:
long expected = -1;
Explicación
Con solo valores negativos, -1 es el mayor.
Cómo abordarlo
Inténtalo primero por tu cuenta y luego abre las pistas una a una.
Pista 1
Empieza con el primer elemento como mejor valor hasta ahora.
Pista 2
Recorre la lista una vez y actualiza el mejor valor cada vez que encuentres uno mayor.
Pista 3
No asumas que los valores son positivos; los negativos también pueden ser el máximo.
Complejidad esperada
tiempo O(n), espacio extra O(1)
Referencias
Este reto está adaptado para CodeUtility. Sigue el enunciado y las restricciones indicadas arriba.