238. Product of Array Except Self
三种情况:
完全没有0
有一个0
有多个0
class Solution:
def productExceptSelf(self, nums: List[int]) -> List[int]:
zeros = [False for _ in range(len(nums))]
p = 1
for i, n in enumerate(nums):
if not n: zeros[i] = True
else: p *= n
if zeros.count(True) == 0:
res = [p//n for n in nums]
elif zeros.count(True) == 1:
res = list(map(lambda x: p if zeros[x] else 0, range(len(nums))))
else:
res = [0 for _ in range(len(nums))]
return res
Last updated
Was this helpful?