https://leetcode.com/problems/merge-sorted-array
fun merge(nums1: IntArray, m: Int, nums2: IntArray, n: Int): Unit {
var idx = m + n - 1
var i1 = m - 1
var i2 = n - 1
while (i2 >= 0) {
if (i1 >= 0 && nums1[i1] > nums2[i2]) {
nums1[idx--] = nums1[i1--]
} else {
nums1[idx--] = nums2[i2--]
}
}
}
문제 요구조건에 O(m + n)
이 있다. 정렬을 하면 O(nlogn)
이기 때문에 뒤에서 부터 크기 비교를 통해 채우면 O(m + n)
의 시간 복잡도로 해결이 가능하다.
'Algorithm > LeetCode' 카테고리의 다른 글
[LeetCode] Majority Element - (Kotlin) (0) | 2023.01.20 |
---|---|
[LeetCode] Valid Palindrome - (Kotlin) (0) | 2023.01.16 |
[LeetCode] Convert Sorted Array to Binary Search Tree (Kotlin) (0) | 2023.01.15 |
[LeetCode] Symmetric Tree (Kotlin) (0) | 2023.01.14 |
[LeetCode] Two Sum (Kotlin) (0) | 2022.12.02 |
댓글