Menu
CoddyTech

Product of Array Except Self

Bir tam sayılar dizisi nums veriliyor. answer dizisinin uzunluğu aynı olacak şekilde, answer[i] değerinin nums dizisindeki i indeksindeki eleman dışındaki tüm elemanların çarpımı olduğu bir dizi döndürün. Bunu O(n) zamanda ve bölme kullanmadan yapın.

Fonksiyon

productExceptSelf(nums: integer-array) → integer-array
numsinteger-array
en az iki eleman içeren tamsayı dizisi
Döndürürinteger-array
i indeksindeki değeri, nums[i] dışındaki tüm öğelerin çarpımı olan bir dizi

Kısıtlar

  • 2 ≤ nums.length ≤ 104
  • -30 ≤ nums[i] ≤ 30
  • Sıfır olmayan tüm nums değerlerinin çarpımı 32 bitlik işaretli bir tam sayıya sığar; dolayısıyla yol boyunca oluşturduğun her çarpım da sığar.

Örnekler

Girdi
nums = [2, 3, 4, 5]
Çıktı
[60, 40, 30, 24]
Açıklama
2'yi çıkardığımızda 3 × 4 × 5 = 60, 5'i çıkardığımızda ise 2 × 3 × 4 = 24 kalır. Ortadaki iki sayı için de aynı yöntem geçerlidir: 2 × 4 × 5 = 40 ve 2 × 3 × 5 = 30.

lock iconGönderirken +14 gizli test

challenge icon

Ek soru

Geri döndürdüğün dizi hariç, yalnızca O(1) ek alan kullanabilir misin?

Kodu sıfırla
def productExceptSelf(nums):
    # Kodu buraya yazın
Test durumları

Durum 1

Durum 2

Durum 3

Girdi

nums = [2, 3, 4, 5]

Beklenen

[60, 40, 30, 24]