leetcode 合併兩個有序陣列 5

2021-10-17 11:29:18 字數 537 閱讀 3673

題目要求

給你兩個有序整數陣列nums1和nums2,要求把nums2中的整數合併到nums1中,並且使nums1也是乙個有序陣列。

思路

為了使空間複雜度最小,我們不能建立新的陣列,我們需要直接放到nums1中,考慮到時間複雜度也要盡可能的小,我們可以將兩個陣列中的元素進行比較,小的放在nums1中下標小的位置,但是考慮到這樣會覆蓋原本在nums1中的值,我們假設nums1中的大小剛好能夠放下兩個陣列中所有的元素,這時我們就可以從後往前進行排放,也就是說兩個陣列中的元素進行比較,較大的那個元素放在nums1陣列的末尾,進行逆填充,直到把陣列填滿。

**實現

void merge(int* nums1, int nums1size, int m, int* nums2, int nums2size, int n)

else

p--;

} if (p1 == -1) }

}

Leetcode 合併兩個有序陣列

題目如下 給定兩個有序整數陣列 nums1 和 nums2,將 nums2 合併到 nums1 中,使得 num1 成為乙個有序陣列。說明 示例 輸入 nums1 1,2,3,0,0,0 m 3 nums2 2,5,6 n 3 輸出 1,2,2,3,5,6 用python只需要兩行 class so...

LeetCode合併兩個有序陣列

合併兩個有序陣列 給定兩個有序整數陣列 nums1 和 nums2,將 nums2 合併到 nums1 中,使得 num1 成為乙個有序陣列。說明 初始化 nums1 和 nums2 的元素數量分別為 m 和 n。你可以假設 nums1 有足夠的空間 空間大小大於或等於 m n 來儲存 nums2 ...

LeetCode 合併兩個有序陣列

題目描述 給定兩個有序整數陣列 nums1 和 nums2,將 nums2 合併到 nums1 中,使得 num1 成為乙個有序陣列。說明 初始化 nums1 和 nums2 的元素數量分別為 m 和 n。你可以假設 nums1 有足夠的空間 空間大小大於或等於 m n 來儲存 nums2 中的元素...