Problema
Devuelve el valor más pequeño en la lista revisando cada elemento una vez.
Implementa array_minimum(numbers).
Entrada
numbers: Una lista no vacía de enteros.
Salida
Devuelve el mínimo.
Restricciones
1 ≤ longitud ≤ 100,000
Ejemplos
Entrada:
numbers = [3, 9, 2]
Salida esperada:
expected = 2
Entrada:
std::vector<long long> numbers = {3, 9, 2};
Salida esperada:
long long expected = 2;
Entrada:
long[] numbers = new long[] {3, 9, 2};
Salida esperada:
long expected = 2;
Explicación
2 es menor que 3 y 9.
Entrada:
numbers = [0, -5, 5]
Salida esperada:
expected = -5
Entrada:
std::vector<long long> numbers = {0, -5, 5};
Salida esperada:
long long expected = -5;
Entrada:
long[] numbers = new long[] {0, -5, 5};
Salida esperada:
long expected = -5;
Explicación
-5 es el más pequeño.
Cómo abordarlo
Inténtalo primero por tu cuenta y luego abre las pistas una a una.
Pista 1
Lleva el valor más pequeño visto mientras recorres la lista una vez.
Pista 2
Compara cada elemento con tu mejor valor actual y actualízalo solo cuando sea menor.
Pista 3
Recuerda que la lista no está vacía, así que puedes empezar por el primer elemento.
Complejidad esperada
tiempo O(n), espacio extra O(1)
Referencias
Este reto está adaptado para CodeUtility. Sigue el enunciado y las restricciones indicadas arriba.