How to construct Product Array by LeetCode
Editor to share with you how to build LeetCode product array, I believe most people do not know much about it, so share this article for your reference, I hope you can learn a lot after reading this article, let's go to know it!
Topic description
Given an array A [0BZ 1, … , nMuth1], please construct an array B [0JEI 1, … , nmur1], where the element B [I] = A [0] × A [1] × … × A [iMur1] × A [I + 1] × … × A [nMuth1]. Division cannot be used.
The sum of the product of all elements does not overflow the 32-bit integer a.length List [int]:
# traverse from left to right, then from right to left
# maintain the prefix product array. When traversing from right to left, you only need to maintain the suffix product, and then multiply the previous prefix product, the result is the product of the left and right elements of the current element
Lefts = []
Left = 1
For x in a:
Left * = x
Lefts.append (left)
# only suffix product needs to be maintained here, and there is no need to build a suffix product array
Right = 1
Res = [0] * len (a)
For i in range (len (a)) [::-1]:
# Note that there is no element on the left when the subscript is 0, and the product of the left part is set to 1
Left = lefts [I-1] if I > 0 else 1
Res [I] = left * right
# notice that the current element is multiplied by it after it has been processed, because the result does not contain the current element itself
Right * = a [I]
Return res above is all the content of the article "how to build a product array by LeetCode". Thank you for reading! I believe we all have a certain understanding, hope to share the content to help you, if you want to learn more knowledge, welcome to follow the industry information channel!