Middle — Senior
Cum se ia în considerare cazurile cu zerouri în înmulțirea elementelor dintr-o listă?
sobes.tech AI
Răspuns de la AI
Calculând produsul elementelor dintr-o listă cu zerouri, este important să țineți cont că prezența a cel puțin unui zero anulează întregul rezultat. Pentru a gestiona corect aceste cazuri, se poate:
- Verifica prezența zerourilor în prealabil. Dacă se găsește un zero, rezultatul este imediat 0.
- Dacă trebuie să calculezi produsul fără zerouri, poți ignora zerourile sau să le numeri separat.
- Pentru sarcini în care trebuie să cunoști produsul tuturor elementelor, cu excepția celui curent, poți folosi o abordare cu produse prefix și suffix, ținând cont de numărul de zerouri.
Exemplu în Python care ține cont de zerouri:
from functools import reduce
from operator import mul
def product_with_zeros(lst):
zero_count = lst.count(0)
if zero_count > 1:
return 0 # mai mult de un zero — produsul este întotdeauna 0
elif zero_count == 1:
# produsul tuturor elementelor, cu excepția zero
prod = 1
for x in lst:
if x != 0:
prod *= x
return 0 if prod == 0 else 0 # produsul final va fi 0
else:
return reduce(mul, lst, 1)