320x100
문제 : https://leetcode.com/problems/product-of-array-except-self/
1보다 큰 양수들의 배열이 주어질 때
output[i] = nums[i] 를 제외한 나머지 nums 요소들의 곱
인 output 배열을 구하라.
단, 나누기는 쓰지말고 출력배열을 제외하고는 추가 메모리를 사용하지 말아라.
n = nums 배열 크기라 하자.
output[i] = nums[0] ~ nums[i-1] 의 곱. => nums를 앞에서부터 탐색하면서 output[i] = output[i-1] * nums[i-1]
nums[i] = nums[i] ~ nums[n-1] 의 곱. => nums를 뒤에서부터 탐색하면서 nums[i] = nums[i] * nums[i+1]
output[i] = output[i] * nums[i+1] = (nums[0] ~ nums[i-1]의 곱) * (nums[i+1] ~ nums[n-1]의 곱) = 정답
시간복잡도는 O(n)
320x100
'알고리즘 문제 > Leetcode' 카테고리의 다른 글
[leetcode][1008] Construct Binary Search Tree from Preorder Traversal (0) | 2020.04.20 |
---|---|
[leetcode][33] Search in Rotated Sorted Array (0) | 2020.04.19 |
[leetcode][678] Valid Parenthesis String (0) | 2020.04.16 |
[leetcode][525] Contiguous Array (0) | 2020.04.13 |
[leetcode][122] Best Time to Buy and Sell Stock II (0) | 2020.04.06 |
댓글