国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

合并排序數組

2019-11-08 01:57:23
字體:
來源:轉載
供稿:網友

合并兩個排序的整數數組A和B變成一個新的數組。 注意事項 你可以假設A具有足夠的空間(A數組的大小大于或等于m+n)去添加B中的元素。 樣例 給出 A = [1, 2, 3, empty, empty], B = [4, 5] 合并之后 A 將變成 [1,2,3,4,5]

最容易想到的方法是將B中的元素先添加到A中然后對A進行一次排序 從另外的角度上來看,這里與歸并排序的原理是一致的,問題在于我們沒有額外的數組空間去容納新的序列,解決的辦法是將A作為額外的數組空間,從尾部開始添加元素,利用A中的剩余空間完成任務.

class Solution { /** * @param A: sorted integer array A which has m elements, * but size of A is m+n * @param B: sorted integer array B which has n elements * @return: void */ public void mergeSortedArray(int[] A, int m, int[] B, int n) { // write your code here // for(int i = 0;i < n; i++){ // A[m + n - i - 1] = B[n - i - 1]; // } // Arrays.sort(A); //從尾部開始填充 int k = m + n -1; m--; n--; while(k>=0){ if(n<0 || (m>=0 && A[m] >= B[n])){ A[k--] = A[m--]; }else{ A[k--] = B[n--]; } } }}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 峨眉山市| 双峰县| 固安县| 图们市| 山阳县| 万宁市| 西吉县| 张北县| 含山县| 滁州市| 霍邱县| 富锦市| 库伦旗| 繁峙县| 文化| 连州市| 遂平县| 策勒县| 资兴市| 四子王旗| 新闻| 汤原县| 黑龙江省| 内乡县| 屯昌县| 新龙县| 武威市| 邯郸市| 宜兰县| 黑河市| 玛曲县| 页游| 偃师市| 苍山县| 绥化市| 西昌市| 惠东县| 九台市| 金沙县| 定南县| 乐山市|