Problema
Restituisci il valore più piccolo nella lista controllando ciascun elemento una sola volta.
Implementa array_minimum(numbers).
Input
numbers: Una lista non vuota di interi.
Output
Restituisci il minimo.
Vincoli
1 ≤ lunghezza ≤ 100.000
Esempi
Input:
numbers = [3, 9, 2]
Output atteso:
expected = 2
Input:
std::vector<long long> numbers = {3, 9, 2};
Output atteso:
long long expected = 2;
Input:
long[] numbers = new long[] {3, 9, 2};
Output atteso:
long expected = 2;
Spiegazione
2 è più piccolo di 3 e 9.
Input:
numbers = [0, -5, 5]
Output atteso:
expected = -5
Input:
std::vector<long long> numbers = {0, -5, 5};
Output atteso:
long long expected = -5;
Input:
long[] numbers = new long[] {0, -5, 5};
Output atteso:
long expected = -5;
Spiegazione
-5 è il più piccolo.
Come affrontarlo
Prova prima da solo, poi apri un suggerimento alla volta.
Suggerimento 1
Tieni traccia del valore più piccolo visto mentre scansioni la lista una volta.
Suggerimento 2
Confronta ogni elemento con il tuo valore migliore e aggiorna solo se è più piccolo.
Suggerimento 3
Ricorda che la lista non è vuota, quindi puoi partire dal primo elemento.
Complessità attesa
tempo O(n), spazio aggiuntivo O(1)
Riferimenti
Questa sfida è adattata per CodeUtility. Segui la traccia e i vincoli sopra.