题解 | #构建乘积数组#
构建乘积数组
https://www.nowcoder.com/practice/94a4d381a68b47b7a8bed86f2975db46
# # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # # @param A int整型一维数组 # @return int整型一维数组 # class Solution: def multiply(self , A: List[int]) -> List[int]: # write code here """思路1: 双向遍历 1.初始化数组b,第一个元素位1 2.从左到右遍历数组A,将数组b的前一个数与数组a的前一个数相乘得到下三角uuzub的当前数 """ # 初始化b B = [ 1 for i in range(len(A))] # 先乘左边,从左到右 for i in range(1, len(A)): # 每多一位由B左边的元素多呈一个前面A的元素 B[i] = B[i - 1] * A[i-1] temp = 1 # 再乘右边,从右到左 for i in reversed(range(len(A))): # temp 为右边的累乘 B[i] *= temp temp *= A[i] return B
这个思路和计算方法是要学习的内容