반응형
Product of Array Except Self
Given an integer array nums, return an array answer such that answer[i] is equal to the product of all the elements of nums except nums[i].
The product of any prefix or suffix of nums is guaranteed to fit in a 32-bit integer.
You must write an algorithm that runs in O(n) time and without using the division operation.
Example 1:
Input: nums = [1,2,3,4]
Output: [24,12,8,6]
Example 2:
Input: nums = [-1,1,0,-3,3]
Output: [0,0,9,0,0]
Constraints:
2 <= nums.length <= 105-30 <= nums[i] <= 30- The input is generated such that
answer[i]is guaranteed to fit in a 32-bit integer.
Follow up: Can you solve the problem in O(1) extra space complexity? (The output array does not count as extra space for space complexity analysis.)
class Solution:
def productExceptSelf(self, nums: List[int]) -> List[int]:
n = len(nums)
left = 1
right = 1
res = [1] * n
for i in range(n) :
res[i] *= left
left *= nums[i]
for i in range(n-1, -1, -1) :
res[i] *= right
right *= nums[i]
return res반응형
'알고리즘 스터디' 카테고리의 다른 글
| [Leetcode/파이썬] 36. Valid Sudoku (0) | 2025.12.13 |
|---|---|
| [Leetcode/파이썬] 71. Simplify Path (0) | 2025.12.13 |
| [Leetcode/파이썬] 63. Unique Paths II (0) | 2025.12.07 |
| [Leetcode/파이썬] 73. Set Matrix Zeroes (0) | 2025.12.07 |
| [백준/파이썬] 17141. 연구소2 (1) | 2025.11.28 |