Sobes.tech
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)