美文网首页
[算法] - 合并两个有序数组

[算法] - 合并两个有序数组

作者: 夹胡碰 | 来源:发表于2021-03-19 14:10 被阅读0次

1. 代码

package com.jfp;

import java.util.Arrays;

/**
 * @author jiafupeng
 * @desc
 * @create 2021/3/17 16:59
 * @update 2021/3/17 16:59
 **/
public class Test4 {

    public static int[] merge(int[] arr1, int[] arr2) {
        int m = 0;
        int n = 0;
        int[] mergeArr = new int[arr1.length + arr2.length];

        int i = 0;
        while (m < arr1.length || n < arr2.length) {
            if(m >= arr1.length){
                mergeArr[i++] = arr2[n++];
            } else if(n >= arr2.length){
                mergeArr[i++] = arr1[m++];
            } else if(arr1[m] < arr2[n]){
                mergeArr[i++] = arr1[m++];
            } else {
                mergeArr[i++] = arr2[n++];
            }
        }

        return mergeArr;
    }

    public static void main(String[] args) {
        int[] arr1 = {1,3,5,7};
        int[] arr2 = {2,4,6,8,10,12};
        int[] merge = merge(arr1, arr2);
        System.out.println(Arrays.toString(merge));
    }
}

2. 输出

[1, 2, 3, 4, 5, 6, 7, 8, 10, 12]

相关文章

  • 对两个有序的数组进行合并

    1、算法描述: 有两个有序的整型数组arrayA,和arrayB,先要将它俩合并得到新的合并数组同样是有序的。示例...

  • 合并两个有序数组(C)

    合并两个有序数组,合并完之后仍有序:

  • 有序数组合并

    1、两个有序数组合并(产生新数组) 2、两个有序数组合并(返回原来某个数组)

  • iOS面试之算法大全

    算法 算法内容如下: 字符串反转 链表反转 有序数组合并 Hash算法 查找两个子视图的共同父视图 求无序数组当中...

  • iOS面试之算法模块

    算法 算法内容如下: 字符串反转 链表反转 有序数组合并 Hash算法 查找两个子视图的共同父视图 求无序数组当中...

  • 算法必知 --- 归并排序(优化与案例)

    算法描述 使用归并排序进行升序排列。 示例: 算法设计 基本思路:借助额外空间,合并两个有序数组,得到更长的有序数...

  • 4. 寻找两个有序数组的中位数

    分析 已知两个有序数组,找到两个数组合并后的中位数。 解法一 简单粗暴,先将两个数组合并,两个有序数组的合并也是归...

  • 数据结构-Java 02.习题汇总1

    1. 合并两个有序的数组 给出两个有序的整数数组A和B,请将数组B合并到数组A中,变成一个有序的数组。注意:可以假...

  • LeetCode-88-合并两个有序数组

    LeetCode-88-合并两个有序数组 88. 合并两个有序数组[https://leetcode-cn.com...

  • 一道算法题之两个有序数组合并

    最近面试的时候遇到了一道算法题,两个有序数组合并,要求新的数组也是有序的 此题比较简单,主要是看数组元素进行对比,...

网友评论

      本文标题:[算法] - 合并两个有序数组

      本文链接:https://www.haomeiwen.com/subject/ujpecltx.html