Volver a los desafíos
Fácil 0 resueltos 0% de aceptación

Máximo de un Arreglo

Encuentra el valor más grande en una lista.

Lo que aprenderás

  • Encontrar el mayor valor en una pasada
  • Inicializar el máximo con el primer elemento
  • Trabajar con números negativos

Problema

Ver original (inglés)

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

Ejemplo 1
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.

Ejemplo 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.

Aprende de otros

Soluciones de la comunidad

Aún no hay soluciones publicadas. Resuelve este reto para compartir la primera.