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

合并两个有序的数组

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

import java.util.*;
public class Solution {
    public void merge(int A[], int m, int B[], int n) {
        int i = m-1;
        int j = n-1;
        //新数组的指针
        int k = m+n-1;
        //任意一个数组遍历结束
        while(i >= 0 && j >= 0){
		  	//这里面很关键,首先注意判断范围,就是>=0,因为j--,是先用到j,再执行--
		  	//因此会用到等于0的时候,再执行-1,不符合
		  	//然后赋值这里,是用到了谁,谁-1,不是都要-1,因此j--操作应该在赋值进行,而不是在比较处进行
		  	//否则,不应该-1的,都-1了
            A[k--] = B[j] >= A[i]? B[j--]:A[i--];
        }
        //A数组没有遍历完,直接就在里面,所以只需要把B数组装进去就行
        while(j >= 0){
            A[k--] = B[j--];
        }
    }
}

全部评论

相关推荐

zyNotCute:感觉问题主要在学校,以及项目吧,项目有些偏简单了;专业技能方面没写redis和微服务有一点小薄弱;当然acm打得好也是不错的。可以再打磨一下祝找工顺利
点赞 评论 收藏
分享
02-21 23:22
已编辑
重庆大学 Java
神哥不得了:神哥来啦~还是非常不错的。需要注意的是项目的话建议把编号换一下,把前面那个一和二删掉,然后再把123那种换成点,项目的话应该用这两个项目也问题不大,毕竟你的学历还是挺好的,如果换上两个高质量项目的话,获得面试的比例会大一点,不过这两个项目的话应该吃透,也可以找到面试,八股的话就建议先把高频top50的八股多巩固几遍,别看那些假高频题目就行
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务