Menu
CoddyTech

Product of Array Except Self

ŚrednieSumy prefiksowepython iconjava iconcpp iconc iconjs icon+10

Otrzymujesz tablicę liczb całkowitych nums. Zwróć tablicę answer o tej samej długości, w której answer[i] jest iloczynem wszystkich elementów nums z wyjątkiem elementu o indeksie i. Wykonaj to w czasie O(n) i bez używania dzielenia.

Funkcja

productExceptSelf(nums: integer-array) → integer-array
numsinteger-array
tablica liczb całkowitych zawierająca co najmniej dwa elementy
Zwracainteger-array
tablica, której wartością pod indeksem i jest iloczyn wszystkich elementów z wyjątkiem nums[i]

Ograniczenia

  • 2 ≤ nums.length ≤ 104
  • -30 ≤ nums[i] ≤ 30
  • Iloczyn wszystkich niezerowych wartości w nums mieści się w 32-bitowej liczbie całkowitej ze znakiem, więc każdy iloczyn obliczany po drodze również się mieści.

Przykłady

Wejście
nums = [2, 3, 4, 5]
Wyjście
[60, 40, 30, 24]
Wyjaśnienie
Pominięcie 2 daje 3 × 4 × 5 = 60, a pominięcie 5 daje 2 × 3 × 4 = 24. Dwa środkowe działają tak samo: 2 × 4 × 5 = 40 i 2 × 3 × 5 = 30.
challenge icon

Pytanie dodatkowe

Czy możesz użyć tylko O(1) dodatkowej pamięci, nie licząc zwracanej tablicy?

Zresetuj kod
def productExceptSelf(nums):
    # Wpisz kod tutaj

Test #1

Test #2

Test #3

Argument

nums = [2, 3, 4, 5]

Oczekiwany wynik

[60, 40, 30, 24]