陣列 面試題 10 01 合併排序的陣列

2021-10-23 10:37:39 字數 458 閱讀 3141

☞夢想進大廠的乙隻程式猿☜

☞期望畢業前力扣刷夠400題☜

☞正在複習資料結構和演算法☜

第乙個方法,借用o(m)的空間,將a陣列的數字轉移到新開闢的空間中,然後依次的比較,方放入a陣列中

第二個方法,我們可以想想可以不借用空間的方法來解決這個問題,我們可以看到,兩個陣列的數字都是排序(公升序)好的,我們可以從後往前遍歷,也就是讓a陣列max與b陣列max比較,去最大的乙個排在最後,依次判斷

class

solution

else

}while

(left >=0)

while

(right >=0)

}}

面試題 10 01 合併排序的陣列

給定兩個排序後的陣列 a 和 b,其中 a 的末端有足夠的緩衝空間容納 b。編寫乙個方法,將 b 合併入 a 並排序。初始化 a 和 b 的元素數量分別為 m 和 n。示例 輸入 a 1,2,3,0,0,0 m 3 b 2,5,6 n 3 輸出 1,2,2,3,5,6 直接把b陣列放在a陣列的緩衝空...

面試題 排序鍊錶的合併

舉例 兩個鍊錶的情況可能有以下幾種,一是其中乙個鍊錶為空,二是兩個鍊錶都為空,三是兩個鍊錶都不為空。如果是兩個鍊錶都為空的話,那直接就將返回。下面針對存在不空鍊錶的情況做出分析。1,如果是其中乙個鍊錶為空的話,直接返回另一鍊錶的頭結點就行了。2,如果是兩個鍊錶都不為空的話,這個情況就比前兩種情況複雜...

合併排序的陣列

給定兩個排序後的陣列 a 和 b,其中 a 的末端有足夠的緩衝空間容納 b。編寫乙個方法,將 b 合併入 a 並排序。初始化 a 和 b 的元素數量分別為 m 和 n。class solution def merge self,a list int m int,b list int n int no...