Menu
CoddyTech

Product of Array Except Self

Hai un array di numeri interi nums. Restituisci un array answer della stessa lunghezza, in cui answer[i] è il prodotto di ogni elemento di nums tranne quello all’indice i. Fallo in tempo O(n) e senza usare la divisione.

Funzione

productExceptSelf(nums: integer-array) → integer-array
numsinteger-array
l'array di numeri interi, con almeno due elementi
Restituisceinteger-array
un array il cui valore all'indice i è il prodotto di tutti gli elementi tranne nums[i]

Vincoli

  • 2 ≤ nums.length ≤ 104
  • -30 ≤ nums[i] ≤ 30
  • Il prodotto di tutti i valori diversi da zero in nums rientra in un intero con segno a 32 bit, quindi anche ogni prodotto che costruisci lungo il percorso vi rientra.

Esempi

Input
nums = [2, 3, 4, 5]
Output
[60, 40, 30, 24]
Spiegazione
Escludendo il 2 rimane 3 × 4 × 5 = 60, ed escludendo il 5 rimane 2 × 3 × 4 = 24. I due numeri centrali funzionano allo stesso modo: 2 × 4 × 5 = 40 e 2 × 3 × 5 = 30.

lock icon+14 test nascosti all’invio

challenge icon

Per approfondire

Puoi usare solo O(1) spazio aggiuntivo, senza contare l'array che restituisci?

Ripristina il codice
def productExceptSelf(nums):
    # Scrivi il codice qui
Casi di test

Caso 1

Caso 2

Caso 3

Input

nums = [2, 3, 4, 5]

Atteso

[60, 40, 30, 24]