Middle — Senior
Jak zohlednit případy s nulami v součinu prvků seznamu?
sobes.tech AI
Odpověď od AI
Při výpočtu součinu prvků seznamu obsahujícího nuly je důležité vzít v úvahu, že přítomnost alespoň jedné nuly celý výsledek nuluje. Pro správné zpracování těchto případů lze:
- Předem zkontrolovat přítomnost nul. Pokud je nalezena nula, je výsledek ihned 0.
- Pokud je třeba vypočítat součin bez nul, lze je ignorovat nebo je počítat zvlášť.
- Pro úlohy, kde je třeba znát součin všech prvků kromě aktuálního, lze použít přístup s prefixovými a suffixovými součiny, přičemž se zohlední počet nul.
Příklad v Pythonu, který zohledňuje nuly:
from functools import reduce
from operator import mul
def product_with_zeros(lst):
zero_count = lst.count(0)
if zero_count > 1:
return 0 # více než jedna nula — součin je vždy 0
elif zero_count == 1:
# součin všech prvků kromě nuly
prod = 1
for x in lst:
if x != 0:
prod *= x
return 0 if prod == 0 else 0 # konečný součin bude 0
else:
return reduce(mul, lst, 1)