Menu
CoddyTech

Product of Array Except Self

ふつう累積和python iconjava iconcpp iconc iconjs icon+10

整数の配列 nums が与えられます。同じ長さの配列 answer を返してください。ここで、answer[i] は、インデックス i にある要素を除く nums のすべての要素の積です。O(n) 時間で、除算を使わずに実行してください。

関数

productExceptSelf(nums: integer-array) → integer-array
numsinteger-array
少なくとも2つの要素を持つ整数の配列
戻り値integer-array
インデックス i の値が、nums[i] を除くすべての要素の積である配列

制約

  • 2 ≤ nums.length ≤ 104
  • -30 ≤ nums[i] ≤ 30
  • nums 内のすべてのゼロ以外の値の積は32ビット符号付き整数に収まるため、途中で計算する積もすべて収まります。

例

入力
nums = [2, 3, 4, 5]
出力
[60, 40, 30, 24]
説明
2を除くと3 × 4 × 5 = 60となり、5を除くと2 × 3 × 4 = 24となります。中央の2つも同じように計算できます。2 × 4 × 5 = 40、2 × 3 × 5 = 30です。

lock icon提出時に隠しテスト+14件

challenge icon

発展問題

O(1) の追加領域だけを使用できますか?返す配列は除きます。

コードをリセット
def productExceptSelf(nums):
    # ここにコードを書いてください
テストケース

ケース1

ケース2

ケース3

入力

nums = [2, 3, 4, 5]

期待値

[60, 40, 30, 24]