您的位置:首页 > 其它

[LeetCode]Merge Sorted Array

2014-07-20 17:10 344 查看

题目:


Merge Sorted Array

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 and n respectively.

来源:https://oj.leetcode.com/problems/merge-sorted-array/

思路:

从后往前合,可以避免不断的移动数据,只要一次遍历。

C++ AC代码:

class Solution {
public:
void merge(int A[], int m, int B[], int n) {
int a = m-1, b = n-1, l = m+n-1;
while ( a >= 0 && b >=0 )
{
if ( A[a] >= B[b] )
A[l--] = A[a--];
else
A[l--] = B[b--];
}
while ( b >= 0 )
{
A[l--] = B[b--];
}
}
};


运行时间 12ms
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: