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

合并两个有序的数组

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

全部评论

相关推荐

头像
02-15 16:23
中南大学 Java
野猪不是猪🐗:签了美团真是不一样! 亲戚们都知道我签了美团,过年都围着我问送一单多少钱,还让弟弟妹妹们引以为戒,笑我爸我妈养了个🐢孩子,说从小就知道我这个人以后肯定没出息,我被骂的都快上天了
点赞 评论 收藏
分享
明天不下雨了:我靠2022了都去字节了还什么读研我教你****:你好,本人985电子科大在读研一,本科西南大学(211)我在字节跳动实习过。对您的岗位很感兴趣,希望获得一次投递机会。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务