时间复杂度(O(n)),思想:心细,多测试,
例子: [1, 2, 3, 4],[1, 2, 3, 4, 0],[1, 2, 3, 4, 0, 0],[1, 2, 3, 4, 0, 0, 0]
class Solution:
def productExceptSelf(self, nums: [int]) -> [int]:
r, zero_count, product_all = [], 0, 1
zero_position = 0
for index, num in enumerate(nums):
if num == 0:
zero_count, zero_position = zero_count + 1, index
if zero_count > 1: return [0] * len(nums)
else:
product_all *= num
if zero_count == 1:
r = ([0] * len(nums))
r[zero_position] = product_all
return r
for num in nums:
r.append(product_all // num)
return r