본문 바로가기
Algorithm/LeetCode

[LeetCode] Merge Sorted Array (Kotlin)

by dvid 2023. 1. 14.

https://leetcode.com/problems/merge-sorted-array

 

Merge Sorted Array - LeetCode

Merge Sorted Array - You are given two integer arrays nums1 and nums2, sorted in non-decreasing order, and two integers m and n, representing the number of elements in nums1 and nums2 respectively. Merge nums1 and nums2 into a single array sorted in non-de

leetcode.com

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)의 시간 복잡도로 해결이 가능하다.

댓글