Python、C++、JavaScript、SQL、TypeScript の多様な LeetCode ソリューションを探索してください。面接の準備、学習、複数のプログラミング言語でのコードの練習に最適です。 Github リポジトリ リンク
整数配列が与えられた場合 数字
、 戻る 配列 答え
そのような 答え[i]
のすべての要素の積に等しい 数字
を除外する 数値[i]
.
次の接頭辞または接尾辞の積 数字
は 保証された に収まる 32ビット 整数。
で実行されるアルゴリズムを作成する必要があります。 の上)
除算演算を使用せずに時間を計算します。
例 1:
入力: 数値 = [1,2,3,4] 出力: [24,12,8,6]
例 2:
入力: 数値 = [-1,1,0,-3,3] 出力: [0,0,9,0,0]
制約:
2 <= nums.length <= 10 5
-30 <= nums[i] <= 30
- 次の接頭辞または接尾辞の積
数字
は 保証された に収まる 32ビット 整数。
フォローアップ: で問題を解決できますか ○(1)
余分な空間の複雑さ (出力配列?) しません スペースの複雑さの分析のための追加スペースとしてカウントされます。)
パイソン
# 時間計算量: O(n) # 空間計算量: import List クラスの入力による O(n) 解決策: def productExceptSelf(self, nums: List[int]) -> List[int]: length = len(nums) lList, rList = [1]*長さ、[1]*長さ lList[0]、rList[長さ - 1] = 1、範囲 (1, 長さ) の i に 1: lList[i] = lList[i-1] * nums[i-1] for i in reversed(range(length-1)): rList[i] = rList[i+1] * nums[i+1] for i in range(length): lList[i] * = rList[i] return lList 配列 = [-1, 1, 0, -3, 3] print(Solution().productExceptSelf(Arrays))