LeetCode (1) Merge Sorted Array
2014-08-15 16:10
344 查看
题目:
Given two sorted integer arrays A and B, merge B into A as one sorted array.Note:
You may assume that A has enough space to hold additional elements from B. The number of elements initialized in A and B are m and n respectively.
刚开始根据归并排序写的多了一个中间数组
void MergeSortArr(int arrA[],int lA,int arrB[],int lB){ int *trr = new int[lA+lB]; int i = 0; int j = 0; int k = 0; while(i < lA && j < lB) { if(arrA[i] <= arrB[j]) trr[k++] = arrA[i++]; else trr[k++] = arrB[j++]; } while(i < lA) trr[k++] = arrA[i++]; while(j < lB) trr[k++] = arrB[j++]; for(i = 0;i<k;++i) { arrA[i] = trr[i]; } delete[] trr; }
参考别人的写的版本从A的后面开始排序
void MergeSortArr1(int arrA[],int lA,int arrB[],int lB){ int *trr = new int[lA+lB]; int i = lA- 1; int j = lB- 1; int k = lA + lB - 1; while (i >= 0 && j >= 0) { if(arrA[i] >= arrB[j]) arrA[k--] = arrA[i--]; else arrA[k--] = arrB[j--]; } while(i >= 0) arrA[k--] = arrA[i--]; while(j >= 0) arrA[k--] = arrB[j--]; }
相关文章推荐
- 【leetcode】Merge Sorted Array
- LeetCode Merge Sorted Array
- 【LeetCode练习题】Merge Sorted Array
- [leetcode] Merge Sorted Array
- [leetcode]Merge Sorted Array
- LeetCode:Merge Sorted Array
- Leetcode 88 Merge Sorted Array
- LeetCode(40)-Merge Sorted Array
- [LeetCode] Merge Sorted Array
- leetcode--Merge Sorted Array
- LeetCode-Merge Sorted Array
- Merge Sorted Array -- leetcode
- Leetcode 88 Merge Sorted Array STL
- LeetCode|Merge Two Sorted Lists/Merge Sorted Array
- LeetCode(88) Merge Sorted Array
- LeetCode OJ Merge Sorted Array
- LEETCODE-Merge Sorted Array
- LeetCode 088 Merge Sorted Array
- LeetCode---Merge Sorted Array
- [LeetCode] Merge Sorted Array