自身以外数组乘积

除自身以外数组的乘积

1、题目

图1

2、题解

上三角+下三角

  • 初始化数组\(ans\),令\(ans[0]=1\),辅助变量\(tmp=1\)
  • 计算\(ans[i]\)的下三角各元素的乘积,直接加入\(ans[i]\)
  • 计算\(ans[i]\)的上三角各元素的乘积等于\(tmp\),乘入\(ans[i]\)
  • \(ans\)即为所得
1
2
3
4
5
6
7
8
9
10
class Solution:
def productExceptSelf(self, nums: List[int]) -> List[int]:
ans, tmp = [1] * len(nums), 1
for i in range(1, len(nums)):
ans[i] = ans[i - 1] * nums[i - 1] # 下三角
for i in range(len(nums) - 2, -1, -1):
tmp *= nums[i + 1] # 上三角
ans[i] *= tmp # 下三角 * 上三角
return ans


自身以外数组乘积
http://example.com/2024/03/10/自身以外数组乘积/
作者
Z Z
发布于
2024年3月10日
许可协议