Middle — Senior
Ako zohľadniť prípady s nulami v súčine prvkov zoznamu?
sobes.tech AI
Odpoveď od AI
Pri výpočte súčinu prvkov zoznamu s nulami je dôležité vziať do úvahy, že prítomnosť aspoň jednej nuly nuluje celý výsledok. Na správne spracovanie týchto prípadov môžete:
- Predbežne skontrolovať prítomnosť núl. Ak sa nájde nula, výsledok je okamžite 0.
- Ak je potrebné vypočítať súčin bez núl, môžete ich ignorovať alebo ich počítať samostatne.
- Pre úlohy, kde je potrebné poznať súčin všetkých prvkov okrem aktuálneho, môžete použiť prístup s prefixovými a suffixovými súčinmi, pričom zohľadníte počet núl.
Príklad v Pythone, ktorý zohľadň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 # viac ako jedna nula — súčin je vždy 0
elif zero_count == 1:
# súčin všetkých prvkov okrem nuly
prod = 1
for x in lst:
if x != 0:
prod *= x
return 0 if prod == 0 else 0 # konečný súčin bude 0
else:
return reduce(mul, lst, 1)