Python, C++, JavaScript, SQL 및 TypeScript의 다양한 LeetCode 솔루션을 살펴보세요. 여러 프로그래밍 언어로 인터뷰 준비, 학습 및 코드 연습에 적합합니다. Github 레포 링크
정수 배열이 주어지면 숫자
, 반품 배열 답변
그렇게 대답[나]
의 모든 요소를 곱한 것과 같습니다. 숫자
제외하고 숫자[i]
.
접두사 또는 접미사의 곱 숫자
~이다 보장 에 맞게 32비트 정수.
다음에서 실행되는 알고리즘을 작성해야 합니다. 에)
시간과 나누기 연산을 사용하지 않고.
예시 1:
입력: 숫자 = [1,2,3,4] 산출: [24,12,8,6]
예 2:
입력: 숫자 = [-1,1,0,-3,3] 산출: [0,0,9,0,0]
제약:
2 <= 숫자.길이 <= 10 5
-30 <= 숫자[i] <= 30
- 접두사 또는 접미사의 곱
숫자
~이다 보장 에 맞게 32비트 정수.
후속 조치: 에서 문제를 해결할 수 있나요? 오(1)
추가 공간 복잡성(출력 배열 그렇지 않다 공간 복잡도 분석을 위한 추가 공간으로 계산됩니다.)
파이썬
# 시간 복잡도: O(n) # 공간 복잡도: O(n) 입력 가져오기 목록 클래스 솔루션: def productExceptSelf(self, nums: List[int]) -> List[int]: length = len(nums) lList, rList = [1]*length, [1]*length lList[0], rList[length - 1] = 1, 1 for i in range(1, length): lList[i] = lList[i-1] * nums[i-1] for i in reverse(range(length-1)): rList[i] = rList[i+1] * nums[i+1] for i in range(length): lList[i] * = rList[i] return lList Arrays = [-1, 1, 0, -3, 3] print(Solution().productExceptSelf(Arrays))