Leetcodeブラッシングレコード-88. 2つの順序付けられた配列をマージ

ここに画像の説明を挿入

アイデアの他の解決策を見る

https://blog.csdn.net/weixin_41545780/article/details/105474649

class Solution:
    def merge(self, nums1: List[int], m: int, nums2: List[int], n: int) -> None:
        """
        Do not return anything, modify nums1 in-place instead.
        """
        indexa = 0
        indexb = 0
        while indexa < m and indexb < n:
            if nums2[indexb] < nums1[indexa]:
                self.houyiyiwei(nums1,indexa,m)
                m += 1
                nums1[indexa] = nums2[indexb]
                indexb += 1
            else:
                indexa += 1
        if indexb < n:
            length = n - indexb
            for i in range(length):
                thisindex = i + indexa
                nums1[thisindex] = nums2[indexb]
                indexb += 1
        
                 
    def houyiyiwei(self,inputlist,startindex,m):
        length = len(inputlist)
        for i in range(m - 1,startindex-1,-1):  
            inputlist[i+1] = inputlist[i]

元の記事を公開59件 高く評価 14件 訪問者20,000人以上

おすすめ

転載: blog.csdn.net/weixin_41545780/article/details/105481767