Middle — Senior
Hoe houd je rekening met gevallen met nullen in de vermenigvuldiging van lijstitems?
sobes.tech AI
Antwoord van AI
Bij het berekenen van het product van de elementen van een lijst met nullen, is het belangrijk om te onthouden dat de aanwezigheid van ten minste één nul het hele resultaat op nul zet. Om dergelijke gevallen correct af te handelen, kun je:
- Van tevoren controleren op nullen. Als er een nul wordt gevonden, is het resultaat onmiddellijk 0.
- Als je het product zonder nullen moet berekenen, kun je nullen negeren of ze apart tellen.
- Voor taken waarbij je het product van alle elementen behalve het huidige moet weten, kun je een aanpak gebruiken met prefix- en suffix-producten, rekening houdend met het aantal nullen.
Voorbeeld in Python dat nullen in overweging neemt:
from functools import reduce
from operator import mul
def product_with_zeros(lst):
zero_count = lst.count(0)
if zero_count > 1:
return 0 # meer dan één nul — het product is altijd 0
elif zero_count == 1:
# product van alle elementen behalve de nul
prod = 1
for x in lst:
if x != 0:
prod *= x
return 0 if prod == 0 else 0 # het eindproduct zal 0 zijn
else:
return reduce(mul, lst, 1)