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

合并两个有序的数组

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数组倒着赋值。

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

相关推荐

不愿透露姓名的神秘牛友
06-11 13:34
offe从四面八方来:我真的没时间陪你闹了
点赞 评论 收藏
分享
07-31 11:12
门头沟学院 Java
真的是误闯天家了,太难了
投递虾皮信息等公司10个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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