Intermédiaire
🧠 Fondamentaux
20 XP
0 personnes ont réussi
Recherche du minimum et maximum
Trouver le minimum et le maximum d'une liste en un seul parcours, c'est un exercice classique d'optimisation.
L'idee est simple : tu initialises le minimum et le maximum avec le premier élément. Ensuite, tu parcours le reste de la liste. A chaque élément, tu mets a jour le minimum s'il est plus petit, et le maximum s'il est plus grand.
Un seul passage suffit : c'est O(n). Appeler min() puis max() séparément serait O(2n), donc deux parcours au lieu d'un.
Pour une liste vide, il n'y a pas de minimum ni de maximum. On leve une erreur ValueError.
Écris une fonction min_max(lst) qui retourne un tuple (minimum, maximum).
def min_max(lst):
if not lst:
raise ValueError('La liste est vide')
mini = maxi = lst[0]
for val in lst[1:]:
if val < mini:
mini = val
if val > maxi:
maxi = val
return (mini, maxi)