【力扣LeetCode】java算法刷题大全第3题之合并有序数组

【力扣LeetCode】java算法刷题大全第3题之合并有序数组,第1张

一、合并两个有序数组

输入:num1 = [1,2,3,0,0,0],m=3,num2 = [2,5,6],n=3

输出:[1,2,2,3,5,6]

将元素全部合并到num1中

package com.example.dzx.datastrctet;

import java.util.Arrays;

/**
 * @author 500007
 * @ClassName:
 * @Description: 合并两个有序数组
 * @date 2022年04月22日 17:23:45
 */
public class MergeArray {

    /**
     * 输入:num1 = [1,2,3,0,0,0],m=3,num2 = [2,5,6],n=3
     * 输出:[1,2,2,3,5,6]
     * 将元素全部合并到num1中
     */
    /**
     * 直接将数组2添加到数组1中
     */
    public int[] merge1(int[] num1, int m, int[] num2, int n) {
        for (int i = 0; i < n; i++) {
            num1[m + i] = num2[i];
        }
        Arrays.sort(num1);
        return num1;
    }

    /**
     * 双指针比较法,充分利用数组1和数组2在已经排好序的条件下
     * @param num1
     * @param m
     * @param num2
     * @param n
     * @return
     */
    public int[] merge2(int[] num1, int m, int[] num2, int n)

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/729544.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-27
下一篇 2022-04-27

发表评论

登录后才能评论

评论列表(0条)

保存