第2章 排序 || 第15節 有序數組合並練習題
阿新 • • 發佈:2018-06-17
合並 write return 填充 同時 python 其中 strong class
-
題目
有兩個從小到大排序以後的數組A和B,其中A的末端有足夠的緩沖空容納B。請編寫一個方法,將B合並入A並排序。
給定兩個有序int數組A和B,A中的緩沖空用0填充,同時給定A和B的真實大小int n和int m,請返回合並後的數組。
-
解析
class Merge { public: int* mergeAB(int* A, int* B, int n, int m) { // write code here while(n>0&&m>0) {if(A[n-1]>B[m-1]) { A[m+n-1]=A[n-1]; n--; } else { A[m+n-1]=B[m-1]; m--; } } while(m>0) { A[m-1]=B[m-1]; m--; } return A; } };
- python
# -*- coding:utf-8 -*- class Merge: def mergeAB(self, A, B, n, m): # write code here i,j=n,m while i>0 and j>0: if A[i-1]>B[j-1]: A[i+j-1]=A[i-1] i=i-1 else: A[i+j-1]=B[j-1] j=j-1 if j>0: A[:j]=B[:j] return A
第2章 排序 || 第15節 有序數組合並練習題