题目:
思路+代码:
思路:
构建矩阵BXA,利用上三角和下三角乘积,得出B
时间复杂度:O(n)
空间复杂度:O(1)
class Solution:
def constructArr(self, a: List[int]) -> List[int]:
# 思路:
# 构建矩阵BXA,利用上三角和下三角乘积,得出B
# 时间复杂度:O(n)
# 空间复杂度:O(1)
b, tmp = [1] * len(a), 1
for i in range(1, len(a)):
print(i)
b[i] = b[i - 1] * a[i - 1] # 下三角
for i in range(len(a) - 2, -1, -1):
print(i)
tmp *= a[i + 1] # 上三角
b[i] *= tmp # 下三角 * 上三角
return b