LeetCode—Merge Sorted Array两个有序数组排序
来源:互联网 发布:淘宝代付没有支付宝 编辑:程序博客网 时间:2024/05/17 08:45
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 (size that is greater or equal to m + n) to hold additional elements from B. The number of elements initialized in A and B are m andn respectively.
第一种应该是最愚蠢的做法,重新开辟了一个m+n的内存空间
class Solution {public: void merge(int A[], int m, int B[], int n) { int *C = new int[m+n]; int i = 0; int j = 0; int k = 0; while(i < m && j < n) { if(A[i] <= B[j]) { C[k++] = A[i++]; } if(A[i] > B[j]) { C[k++] = B[j++]; } } while(i < m) { C[k++] = A[i++]; } while(j < n) { C[k++] = B[j++]; } for(i = 0; i < k;i++) { A[i] = C[i]; } delete []C; }};但是题目中已经提到A数组是有序的,而且长度很大,应该合理利用这个信息:
class Solution {public: void merge(int A[], int m, int B[], int n) { int i = m-1; int j = n-1; int k= m+n-1; while(i >= 0 && j >= 0) { if(A[i] >= B[j]) { A[k--] = A[i--]; } if(A[i] < B[j]) { A[k--] = B[j--]; } } while(j >= 0) { A[k--] = B[j--]; } }};
0 0
- LeetCode—Merge Sorted Array两个有序数组排序
- Merge Sorted Array 合并两个有序数组 @LeetCode
- Merge Sorted Array 合并两个有序数组
- Merge Sorted Array -- 合并两个有序数组
- Merge Sorted Array合并两个有序数组
- leetcode Merge Sorted Array 合并有序数组
- ※ Leetcode - Array - 88. Merge Sorted Array(快速归并两个有序数组)
- [leetcode]Merge Sorted Array (两个有序数组的合并 C语言实现)
- [LeetCode] Merge Sorted Array 归并排序数组
- 高效合并两个有序数组(Merge Sorted Array)
- LeetCode | Merge Sorted Array(归并有序数组)
- 【LeetCode】- Merge Sorted Array (合并有序数组).
- (每日算法)LeetCode -- Merge Sorted Array (合并有序数组)
- [LeetCode-88] Merge Sorted Array(合并有序数组)
- LeetCode Merge Sorted Array(合并有序数组)
- LeetCode 88. Merge Sorted Array(合并有序数组)
- leetcode 88. Merge Sorted Array合并有序数组
- leetcode:Merge Sorted Array(合并两个有序数组到其中一个数组中)【面试算法题】
- CocoaPods使用
- android studio生成jar文件
- php开发之接口的使用
- 详解Block: block循环引用
- DNS解析
- LeetCode—Merge Sorted Array两个有序数组排序
- Android下pm 命令详解
- 人生没有最佳选择!彷徨时,要用「直觉」取代「比较」
- 怎么理解线程使用而不拥有资源?为什么进程切换的开销比线程切换大呢?
- LayoutInflater作用及使用
- Java LinkedList 实现原理及数据接口
- 地宫取宝——第五届蓝桥杯省赛C语言A组第8题
- java连接mongodb
- iOS多线程编程之NSThread的使用