当前位置: 首页 > 面试题库 >

Java中2数组的联合?

简俊楚
2023-03-14
问题内容

我的密码

class Union {

    //Search Function
    static boolean search(int A[], int i) {

        for (int k = 0; k < A.length; k++) {
            if (A[k] == i) {
                return true;
            }
        }
        return false;
    }

    //union
    static void union(int A[][], int B[][]) {

        int i = 0;
        int count = 0;
        int C[] = new int[A.length + B.length];

        for (; i < A.length; i++) {
            if (!(search(B, A[i]))) {
                C[count] = A[i];
                count++;
            }
        }

        for (; i < (A.length + B.length); i++) {
            C[count] = B[i - A.length];
            count++;
        }

        System.out.println("This is Union Of 2 D Array ");
        System.out.println();

        for (int k = 0; k < count; k++) {
            System.out.println(C[k]);
        }
        System.out.println();

    }

    public static void main(String... s) {
        union(new int[]{1, 1, 1, 4,}, new int[]{1, 4, 4, 4, 1, 2});
    }
}

我正在使用此输出来找到2d数组的并集,但是我得到的输出是错误的。我不想2在java中使用任何预定义的接口和方法。我的答案应该是{1,2,4}

A= {1,2,3,3}
B={2,3,1,1}
c={1,2,3}

问题答案:

这是您要寻找的:

import java.util.Arrays;

public class Union
{

    public static void main(String[] args)
    {
        int[] A = {1, 2, 3, 3};
        int[] B = {2, 3, 1, 1};
        System.out.println(Arrays.toString(unionArrays(A, B)));
    }

    /* Union of multiple arrays */
    public static int[] unionArrays(int[]... arrays)
    {
        int maxSize = 0;
        int counter = 0;

        for(int[] array : arrays) maxSize += array.length;
        int[] accumulator = new int[maxSize];

        for(int[] array : arrays)
            for(int i : array)
                if(!isDuplicated(accumulator, counter, i))
                    accumulator[counter++] = i;

        int[] result = new int[counter];
        for(int i = 0; i < counter; i++) result[i] = accumulator[i];

        return result;
    }

    public static boolean isDuplicated(int[] array, int counter, int value)
    {
        for(int i = 0; i < counter; i++) if(array[i] == value) return true;
        return false;
    }
}

输出:

[1, 2, 3]


 类似资料:
  • 我必须编写一个程序,允许用户使用两个ArrayList(国家和首都)跟踪他访问过的所有国家及其首都。用户可以从菜单中选择三个选项,他可以: > 通过输入国家的名称,在系统中查询国家的首都。(如果访问了该国,则应显示首都,否则应向其发送错误消息:“您没有访问该国”)。 退出程序 例如,arraylist国家包含[“英格兰”、“法国”、“留尼汪”、“尼泊尔”],首都包含[“伦敦”、“巴黎”、“圣丹尼斯

  • 问题内容: 我最近学习了如何在PHP中使用+运算符连接2个数组。 但是考虑一下这段代码… 输出是 array(1){[0] =>字符串(6)“项目1”} 为什么这不起作用?跳过速记并使用也不起作用。它与按键有关吗? 问题答案: 两者都有一个键,并且组合数组的方法将折叠重复项。尝试改为使用。 如果数组中的元素使用不同的键,则运算符会更合适。 编辑:添加了一个代码片段来阐明

  • 问题内容: 是否可以创建包级Oracle关联数组的Java表示形式。例如,给出以下内容: 我发现我无法编写以下java: (引发SQLException“无效名称模式”)。 引用包级别关联数组的ArrayDescriptor的正确语法是什么?这样的事情是否存在? 问题答案: 参见http://asktom.oracle.com/pls/asktom/f?p=100:11:0:::::P11_QUE

  • 问题内容: 我试图理解这些术语的含义。我举了一些例子,例如: 汇总:Facebook 有一个 用户 组成:facebook 中的 每个用户 都有一个 会话。 协会:人们 使用 浏览器 但是我对 具有 和 使用我的 示例感到困惑。为什么不能是用户 使用 Facebook帐户或Facebook 使用 会话来认证用户? 就OOP而言,这是错误的吗?我在哪里想念这个概念? 问题答案: 该 使用 关系意味着

  • 问题内容: 当我在Java中执行executeBatch方法时,它会返回一个正常的int数组,但该值是所有数组元素的-2, 它应该是0或+ ve数字,以显示受影响的行数,但返回-2, 当我在数据库中检查它时,所有更新均成功完成。请说明此-2是什么意思,以及如何找到受影响的行数。 谢谢,Deepesh Uniyal 问题答案: 关于批处理更新的返回码,jdbc-spec有以下说法: ■0或更大-命令

  • 问题内容: 有以下查询结果:(key1和key2可以是任何文本) 我希望将数据存储在网格(可能是数组)中,像这样 循环 所有记录: 在PHP中,使用关联数组非常容易: 但是在JavaScript这样的关联数组中不起作用。阅读大量教程之后,我所能得到的就是: 但不起作用。我尝试了对象数组,但是对象属性不能是自由文本。我阅读教程的时间越长,我就越困惑。 任何想法都欢迎:) 问题答案: 只需使用常规的J