[알고리즘/leetcode] Merge Sorted Array(python)

유현민·2022년 8월 21일
0

알고리즘

목록 보기
232/253
post-custom-banner

non-decreasing order -> 이거 있으면 sort쓰면 안된다. 직접 정렬 해야함!

맨 뒤에서 부터 앞으로 땡기면서 비교를 했다. 만약에 m = 0 이 주어지면 맨 마지막 if문에 걸리게 했다.

class Solution:
    def merge(self, nums1, m, nums2, n):
        """
        Do not return anything, modify nums1 in-place instead.
        """
        l = m + n - 1
        s1 = m - 1
        s2 = n - 1
        while s1 >=0 and s2 >= 0:
            if nums1[s1] >= nums2[s2]:
                nums1[l] = nums1[s1]
                s1 -= 1
            else:
                nums1[l] = nums2[s2]
                s2 -= 1
            l -= 1
        
        if s2 >= 0:
            nums1[:s2 + 1] = nums2[:s2 + 1]
profile
smilegate
post-custom-banner

0개의 댓글