LeetCode 238: Product of Array Except Self
Difficulty: Medium
Tags: Array
问题描述
给定一个有 n 个整型数的数组 nums,返回一个数组 output,output[i]的值等于 nums 中除了 nums[i] 外其他所有元素的乘积。
本题要求不能使用除法以及时间复杂度为 O(n)。
解决方案
output[i] 就是 nums[i] 在 nums 数组中 前面所有元素乘积 与 后面所有元素乘积 的乘积。
那么就可以用2个数组来分别存储 nums 顺序各位乘积 和 逆序各位乘积。
因为 output[i] 的计算过程中总是会用到 n-1 个元素,所以用一个迭代器扫一遍就可以控制 output[i] 的计算了。
▷ Time Complexity: O(n)
▷ Space Complexity: O(n)
1 | class Solution { |