题目
给你一个长度为 n 的整数数组 nums
,其中 n > 1,返回输出数组 output
,其中 output[i]
等于 nums
中除 nums[i]
之外其余各元素的乘积。
示例:
输入: [1,2,3,4] 输出: [24,12,8,6]
解题
方法一
class Solution: def productExceptSelf(self, nums: [int]) -> [int]: res, p, q = [1], 1, 1 for i in range(len(nums) - 1): # bottom triangle p *= nums[i] res.append(p) for i in range(len(nums) - 1, 0, -1): # top triangle q *= nums[i] res[i - 1] *= q return res
方法二:暴力解法
不推荐
class Solution: def productExceptSelf(self, nums: List[int]) -> List[int]: n = len(nums) res = [] for i in range(n): tmp=1 for j in range(n): if j!=i: tmp*=nums[j] res.append(tmp) return res