Leetcode 솔루션: 자기를 제외한 어레이의 제품
정수 배열 nums가 주어지면 answer[i]가 nums[i]를 제외한 nums의 모든 요소의 곱과 같은 배열 답을 반환합니다.
숫자의 접두사 또는 접미사의 곱은 32비트 정수에 맞도록 보장됩니다.
나누기 연산을 사용하지 않고 O(n) 시간에 실행되는 알고리즘을 작성해야 합니다.
내 다른 솔루션은 다음과 같습니다.
class Solution(object):
def productExceptSelf(self, nums):
p = 1
zeroCount = 0
if all([num == 0 for num in nums]):
return nums
for num in nums:
if num == 0:
zeroCount += 1
continue
p *= num
p = p if zeroCount < 2 else 0
res = []
includeZero = 0 in nums
for num in nums:
if num == 0:
res.append(p)
elif includeZero:
res.append(0)
elif num != 0:
res.append(p/num)
return res
Reference
이 문제에 관하여(Leetcode 솔루션: 자기를 제외한 어레이의 제품), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/salahelhossiny/leetcode-solutions-product-of-array-except-self-1ieg텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)