[LeetCode] 0238. 자기를 제외한 배열의 곱

자기를 제외한 배열의 곱

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))
				
			
ko_KR한국어