java - 交错两个数组

标签 java arrays

我尝试打乱两个返回类型为整数的数组。例如,我有 {1, 2, 3} 和 {0, 5}。我得到的结果是{1,0}。所以,我不确定如何打印数组中的其余数字。

这是我所拥有的:

public int[] shuffle(int[] A, int[] B) {
    int shuff = 0;
    int[] out = { A[shuff], B[shuff] };

    for (int i = 0; i < A.length; i++) {
        for (int j = 0; j < B.length; j++) {
            int shuffle = A[i];
            A[i] = B[j];
            B[j] = shuffle;
        }
    }
    return out;
}

最佳答案

与:

int[] out = { A[shuff], B[shuff] };

你只是输入A的第一个数字和B的第一个数字,你的循环根本不重要。然后你返回,所以它总是返回 {1,0}

如果您期望结果为:{1, 0, 2, 5, 3},我会这样写:

public static int[] interleave(int[] a, int[] b) {
    int[] out = new int[a.length + b.length];
    int j = 0;
    int maxLength = Math.max(a.length, b.length);
    for (int i = 0; i < maxLength; i++) {
        if (i < a.length) {
            out[j++] = a[i];
        }
        if (i < b.length) {
            out[j++] = b[i];
        }
    }
    return out;
}

运行片段: http://rextester.com/ISTE29382

关于java - 交错两个数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25733806/

相关文章:

arrays - 从核心数据获取并放入数组时出现问题

php - 如何从 csv 字符串创建数组?

mysql - 如何用 Eloquent 方式从单个列和数组中获得不同的结果?

c - 如何查找一个数字在数组中重复多少次?

javascript - 从 php 数组到 javascript(初学者)

java - 从 HashMap 中删除特定值和键

java - 如何使用嵌入的 JPA 和 JavaDB 从 Java 代码创建数据库表?

java - SQL Server JDBC 的驱动程序类名称是什么

java - 是否有类似于 ExecutorService invokeAll 的非阻塞方法?

java - 显示对话框 - IllegalStateException : You need to use a Theme. AppCompat 主题