Kata - Valor próximo de zero
Kata - Valor mais próximo de zero

Identificação do desafio
Encontrar o valor mais próximo de zero (inclusive) em uma dada lista.
A
: lista de valores a analisar (negativos, zero ou positivos).N
: quantidade de elementos emA
(1 <= N <= 100
).
Pistas ou dicas
Exemplos de entrada:
-
0 2 3 4 5
resultado esperado:0
-
-60 -59 30 -58 45 -57 23 -56 -55 -54 -53 -52 -51 -50 50
resultado esperado:23
Recursos
- Ambiente de programação (Python).
Obstáculos
Domínio da disciplina Algorítmos1 2 e Estrutura de Dados3.
Solução
🙈 🙉 🙊
def main(A: list):
A.sort()
if A[0] == 0:
return 0
i = 1
while i < len(A):
nleft = i - 1
nrigth = i
if A[nrigth] == 0:
return 0
elif A[nleft] < 0 and 0 < A[nrigth]:
return A[nrigth]
elif A[nleft] > 0 and 0 < A[nrigth]:
return A[nleft]
elif A[nleft] < 0 and A[nrigth] < 0 and i + 1 >= len(A):
return A[nrigth]
i += 1
Referências
-
Entendendo Algorítmos, Aditya Bhargava, ed. 2017 ↩︎
-
Projeto de Algorítmos - com Implementação em Pascal e C, Ph.D. Nivio Ziviani, ed. 2011 ↩︎
-
Data Structures and Algorithms (DSA), disponível em https://www.geeksforgeeks.org/dsa/dsa-tutorial-learn-data-structures-and-algorithms ↩︎