1638天11小时7分6秒

int数组合并去重

public class Test {
    public static void main(String[] args) {
        int[] arrA = new int[]{1, 2, 3, 5};
        int[] arrB = new int[]{5, 3, 4, 2};
        int[] ints = arrayUnion2(arrA, arrB);
        System.out.println(Arrays.toString(ints));
    }


    /**
     * 数组合并去重
     *
     * @param arrA
     * @param arrB
     * @return
     */
    public static int[] arrayUnion2(int[] arrA, int[] arrB) {
        if (arrA == null || arrB == null) {
            return new int[0];
        }
        if (arrA.length == 0 || arrB.length == 0) {
            return new int[0];
        }
        int arrLength = arrA.length + arrB.length;
        int[] arr = new int[arrLength];
        int index = 0;
        for (int i : arrA) {
            arr[index++] = i;
        }
        for (int i : arrB) {
            arr[index++] = i;
        }
        int resultLength = 0;
        int[] resultArr = new int[resultLength];
        for (int i : arr) {
            boolean flag = true;
            for (int i1 : resultArr) {
                if (i == i1) {
                    flag = false;
                    break;
                }
            }
            if (flag) {
                int[] a = new int[resultArr.length];
                for (int i1 = 0; i1 < resultArr.length; i1++) {
                    a[i1] = resultArr[i1];
                }
                resultArr = new int[++resultLength];
                for (int i1 = 0; i1 < a.length; i1++) {
                    resultArr[i1] = a[i1];
                }
                resultArr[resultLength - 1] = i;

            }
        }
        return resultArr;
    }


    /**
     * 数组合并去重
     *
     * @param arrA
     * @param arrB
     * @return
     */
    public static int[] arrayUnion(int[] arrA, int[] arrB) {
        if (arrA == null || arrB == null) {
            return new int[0];
        }
        if (arrA.length == 0 || arrB.length == 0) {
            return new int[0];
        }
        int[] ints = Arrays.copyOf(arrA, arrA.length + arrB.length);
        System.arraycopy(arrB, 0, ints, arrA.length, arrB.length);
        return Arrays.stream(ints).distinct().toArray();
    }

}

[1, 2, 3, 5, 4]
posted @   18sui  阅读(18)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
历史上的今天:
2023-02-27 Node.js安装及环境配置
点击右上角即可分享
微信分享提示