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.

lock icon+14 ukrytych testów przy wysłaniu

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
Przypadki testowe

Przypadek 1

Przypadek 2

Przypadek 3

Wejście

nums = [2, 3, 4, 5]

Oczekiwane

[60, 40, 30, 24]