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

合并两个有序的数组

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--;
}
}
}
};

全部评论

相关推荐

但听说转正率很低,我现在有在实习了,好纠结要不要去
熬夜脱发码农:转正率低归低,但是实习的经历你可以拿着,又不是说秋招不准备了
点赞 评论 收藏
分享
05-09 13:22
门头沟学院 Java
点赞 评论 收藏
分享
每晚夜里独自颤抖:要求太多的没必要理
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务