题解 | #合并两个有序的数组#

合并两个有序的数组

http://www.nowcoder.com/practice/89865d4375634fc484f3a24b7fe65665

class Solution {
public:
void merge(int A[], int m, int B[], int n) {
int new_n = m+n-1;
从后往前放置数字,最大的放在最后面,依次往前
if(n==0) return;
if(m==0){
for(int a=0;a<n;a++){
A[a] = B[a];
}
return;
}
int i=m-1,j=n-1;
int flag=0;
while(i>=0&&j>=0){
if(A[i]>=B[j]){
A[new_n] = A[i];
new_n--;
i--;
}else{
A[new_n] = B[j];
new_n--;
j--;
}
if(i<0){
flag=1;
break;
}
if(j<0){
flag=2;
break;
}
}
if(flag==1){
for(j;j>=0;j--){
A[new_n] = B[j];
new_n--;
}
}
}
};

全部评论

相关推荐

不愿透露姓名的神秘牛友
11-27 10:52
点赞 评论 收藏
分享
AaronRuan:看到了好多开奖了,不知道为啥自己也有点激动,真的替你们感到高兴啊
投递华为等公司10个岗位
点赞 评论 收藏
分享
11-08 16:53
门头沟学院 C++
投票
滑模小马达:第三个如果是qfqc感觉还行,我签的qfkj搞电机的,违约金也很高,但公司感觉还可以,听说之前开过一个试用转正的应届生,仅供参考。
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务