def com_loop(lista):
r = float("inf")
n = len(lista)
for i in range(0, n - 1):
for j in range(i + 1, n):
diff = abs(lista[i] - lista[j])
if diff < r:
r = diff
return r
def com_sort(lista):
r = float("inf")
lista = sorted(lista)
for i in range(len(lista) - 1):
diff = abs(lista[i] - lista[i + 1])
if diff < r:
r = diff
return r
import random
# gerando uma lista com 1000 números aleatórios
numeros = random.sample(range(1, 1000000), 1000)
import timeit
print(timeit.repeat('com_loop(numeros)', repeat=2, number=20, globals=globals()))
print(timeit.repeat('com_sort(numeros)', repeat=2, number=20, globals=globals()))
ZGVmIGNvbV9sb29wKGxpc3RhKToKICAgIHIgPSBmbG9hdCgiaW5mIikKICAgIG4gPSBsZW4obGlzdGEpCiAgICBmb3IgaSBpbiByYW5nZSgwLCBuIC0gMSk6CiAgICAgICAgZm9yIGogaW4gcmFuZ2UoaSArIDEsIG4pOgogICAgICAgICAgICBkaWZmID0gYWJzKGxpc3RhW2ldIC0gbGlzdGFbal0pCiAgICAgICAgICAgIGlmIGRpZmYgPCByOgogICAgICAgICAgICAgICAgciA9IGRpZmYKICAgIHJldHVybiByCgpkZWYgY29tX3NvcnQobGlzdGEpOgogICAgciA9IGZsb2F0KCJpbmYiKQogICAgbGlzdGEgPSBzb3J0ZWQobGlzdGEpCiAgICBmb3IgaSBpbiByYW5nZShsZW4obGlzdGEpIC0gMSk6CiAgICAgICAgZGlmZiA9IGFicyhsaXN0YVtpXSAtIGxpc3RhW2kgKyAxXSkKICAgICAgICBpZiBkaWZmIDwgcjoKICAgICAgICAgICAgciA9IGRpZmYKICAgIHJldHVybiByCgoKaW1wb3J0IHJhbmRvbQojIGdlcmFuZG8gdW1hIGxpc3RhIGNvbSAxMDAwIG7Dum1lcm9zIGFsZWF0w7NyaW9zCm51bWVyb3MgPSByYW5kb20uc2FtcGxlKHJhbmdlKDEsIDEwMDAwMDApLCAxMDAwKQoKaW1wb3J0IHRpbWVpdAoKcHJpbnQodGltZWl0LnJlcGVhdCgnY29tX2xvb3AobnVtZXJvcyknLCByZXBlYXQ9MiwgbnVtYmVyPTIwLCBnbG9iYWxzPWdsb2JhbHMoKSkpCnByaW50KHRpbWVpdC5yZXBlYXQoJ2NvbV9zb3J0KG51bWVyb3MpJywgcmVwZWF0PTIsIG51bWJlcj0yMCwgZ2xvYmFscz1nbG9iYWxzKCkpKQ==