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

合并两个有序的数组

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

import java.util.*;
public class Solution {
    public void merge(int A[], int m, int B[], int n) {
        int i1 = m - 1;
        int i2 = n - 1;
        int cur = A.length - 1;
        while (i2 >= 0) {
            if (i1 >= 0 && B[i2] < A[i1]) {
                A[cur--] = A[i1--];
            } else {
                A[cur--] = B[i2--];
            }
        }
    }
}

解决思想:三指针,一个指针指向A数组最后一个元素位置,一个指针指向B数组最后一个元素位置,还有个指针指向当前需要替换值的位置,从后往前遍历,依次给A数组倒着赋值。

#算法##算法笔记#
全部评论

相关推荐

01-26 19:51
门头沟学院 Java
isabener:怎么感觉像群发的呢
点赞 评论 收藏
分享
02-07 10:52
复旦大学 Java
混子不想混:非常能理解,感觉他们就靠着入行早,打压新人一样。我这个公司也是,天天干的累死累活,然后绩效打C,合着让新人被绩效,像是年底攒棺材本一样。总是打击之后,还会让人开始自我怀疑,是不是我努力的还不够,实际上并不是,就是他们不做人,故意打压新人。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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