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