LeetCode-238
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].
note : 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.)
Answer
:::python
class Solution:
def productExceptSelf(self, nums: List[int]) -> List[int]:
out = []
p = 1
for i in range(0, len(nums)):
out.append(p)
p = p*nums[i]
p = 1
for i in range(len(nums)-1, 0-1, -1):
out[i] = out[i]*p
p = p * nums[i]
return out
Result : 221ms Memory: 21.2mb
Leetcode Problem "Product of Array Except Self" Solution
μ΄ λ¬Έμ λ μ£Όμ΄μ§ λ°°μ΄μμ μμ μ μ μΈν λͺ¨λ μμλ€μ κ³±μ κ³μ°νλ λ¬Έμ μ λλ€. μΆκ°μ μΈ λ°°μ΄μ μ¬μ©νμ§ μκ³ O(n) μκ°λ³΅μ‘λ λ΄μ νμ΄μΌ ν©λλ€.
μ°μ , λͺ¨λ μμλ€μ κ³±μ ꡬνκΈ° μν΄μλ λ°°μ΄ μ 체μ κ³±μ κ³μ°ν λ€, κ° μμλ§λ€ μ 체 κ³±μμ μμ μ κ°μ λλ μ€μΌ ν©λλ€. νμ§λ§ μ΄ λ°©λ²μ 0μ΄ νλλΌλ μλ κ²½μ° μ€λ₯κ° λ°μν©λλ€.
λ°λΌμ, κ° μμλ₯Ό μ μΈν μΌμͺ½ μμλ€μ κ³±κ³Ό μ€λ₯Έμͺ½ μμλ€μ κ³±μ ꡬν΄μΌ ν©λλ€. μ΄λ₯Ό μν΄μλ λ κ°μ λ°°μ΄μ μ¬μ©ν©λλ€. 첫 λ²μ§Έ λ°°μ΄μ κ° μμμ μΌμͺ½ μμλ€μ κ³±μ, λ λ²μ§Έ λ°°μ΄μ κ° μμμ μ€λ₯Έμͺ½ μμλ€μ κ³±μ μ μ₯ν©λλ€.
κ·Έλ¦¬κ³ λμ κ° μμμ μΌμͺ½ μμλ€μ κ³±κ³Ό μ€λ₯Έμͺ½ μμλ€μ κ³±μ κ³±νλ©΄, μμ μ μ μΈν λͺ¨λ μμλ€μ κ³±μ΄ λ©λλ€.
μ΄λ κ² ν΄μ μΆκ°μ μΈ λ°°μ΄ μμ΄ O(n) μκ°λ³΅μ‘λ λ΄μ λ¬Έμ λ₯Ό ν μ μμ΅λλ€.
User Python Code Evaluation
μ μ½λλ μ¬λ°λ₯΄κ² ꡬνλμ΄ μμ΅λλ€. κ° μμμ μΌμͺ½ μμλ€μ κ³±μ ꡬνλ λ°λ³΅λ¬Έκ³Ό μ€λ₯Έμͺ½ μμλ€μ κ³±μ ꡬνλ λ°λ³΅λ¬ΈμΌλ‘ ꡬμ±λμ΄ μκ³ , μΆκ°μ μΈ λ°°μ΄μ μ¬μ©νμ§ μκ³ O(n) μκ°λ³΅μ‘λ λ΄μ λ¬Έμ λ₯Ό νμμ΅λλ€. λ°λΌμ, μ΄ μ½λλ μ νμ±κ³Ό ν¨μ¨μ± λͺ¨λλ₯Ό μΆ©μ‘±μν€λ μ’μ μ½λμ λλ€.
'π’ One step' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[leetcode 234] Palindrom Linked List (0) | 2023.03.11 |
---|---|
[leetcode-121] Best Time to Buy and Sell Stock (0) | 2023.03.09 |
[leetcode-561] Array Partition (0) | 2023.03.07 |
[leetcode-15] Three Sum (0) | 2023.03.06 |
[leetcode-42] Trapping Rain Water (0) | 2023.03.05 |