Lintcode 合并排序数组 II
2017-04-07 16:18
441 查看
合并两个排序的整数数组A和B变成一个新的数组。
注意事项
你可以假设A具有足够的空间(A数组的大小大于或等于m+n)去添加B中的元素。
您在真实的面试中是否遇到过这个题?
Yes
样例
给出 A =
B =
合并之后 A 将变成
标签
排序数组 数组 脸书
分析:本题考虑移动最少的元素,则需要从后往前进行插入,总的元素数已经给出了则从A[m+n-1]向前进行插入。
如有问题请留言。
转载请先联系博主,谢谢。
注意事项
你可以假设A具有足够的空间(A数组的大小大于或等于m+n)去添加B中的元素。
您在真实的面试中是否遇到过这个题?
Yes
样例
给出 A =
[1, 2, 3, empty, empty],
B =
[4, 5]
合并之后 A 将变成
[1,2,3,4,5]
标签
排序数组 数组 脸书
分析:本题考虑移动最少的元素,则需要从后往前进行插入,总的元素数已经给出了则从A[m+n-1]向前进行插入。
class Solution { public: /** * @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 */ void mergeSortedArray(int A[], int m, int B[], int n) { // write your code here while(n){ if(m==0){ for(int i=0;i<n;i++){ A[i]=B[i]; } break; } if(B[n-1]>=A[m-1]){ A[m+n-1]=B[n-1]; n--; } else{ A[n+m-1]=A[m-1]; m--; } } } };
如有问题请留言。
转载请先联系博主,谢谢。
相关文章推荐
- lintcode-64-合并排序数组 II
- LintCode 合并排序数组 II
- python_lintcode_64合并排序数组 II_60搜索插入位置_142 O(1)时间检测2的幂次
- LintCode 64 合并排序数组 II
- LintCode-合并排序数组 II
- LintCode-合并排序数组 II
- [LintCode] 合并排序数组II
- 【LintCode 简单】6. 合并排序数组 II
- LintCode-6合并排序数组 II(C++)
- LintCode【简单】6. 合并排序数组 II,9. Fizz Buzz 问题。代码及思路 ——【vector用法】
- LintCode-合并排序数组 II
- lintcode 容易题:Merge Sorted Array II 合并排序数组 II
- lintcode-合并排序数组II-64
- 【LintCode】合并排序数组 II
- lintcode删除排序数组中的重复数字 II
- LintCode-寻找旋转排序数组中的最小值 II
- LintCode Merge Sorted ArrayII 合并排序数组 II
- LintCode-删除排序数组中的重复数字 II
- lintcode-63-搜索旋转排序数组 II
- 合并排序数组 II