Problema
Return the smallest value in the list by checking each element once.
Implement array_minimum(numbers).
Input
numbers: A non-empty list of integers.
Output
Return the minimum.
Restrições
1 ≤ length ≤ 100,000
Exemplos
Entrada:
numbers = [3, 9, 2]
Saída esperada:
expected = 2
Entrada:
std::vector<long long> numbers = {3, 9, 2};
Saída esperada:
long long expected = 2;
Entrada:
long[] numbers = new long[] {3, 9, 2};
Saída esperada:
long expected = 2;
Explicação
2 is smaller than 3 and 9.
Entrada:
numbers = [0, -5, 5]
Saída esperada:
expected = -5
Entrada:
std::vector<long long> numbers = {0, -5, 5};
Saída esperada:
long long expected = -5;
Entrada:
long[] numbers = new long[] {0, -5, 5};
Saída esperada:
long expected = -5;
Explicação
-5 is the smallest.
Como abordar
Tente sozinho primeiro e depois abra uma dica de cada vez.
Dica 1
Track the smallest value seen while scanning the list once.
Dica 2
Compare each element to your current best and update only when smaller.
Dica 3
Remember the list is non-empty, so you can start from the first element.
Complexidade esperada
O(n) time, O(1) extra space
Referências
Este desafio foi adaptado para o CodeUtility. Siga o enunciado e as restrições acima.