Java Program to Find Union and Intersection of Two Unsorted Arrays2025年3月29日 | 阅读 6 分钟 在编程中,查找数组的并集和交集是常见的操作。在本节中,我们将实现Java 程序查找两个无序数组的并集和交集的逻辑。 并集两个数组的并集可以通过合并两个数组并删除重复元素来获得。结果数组包含来自两个数组的所有唯一元素。 这是编程中一项常见操作。它常用于合并列表或查找列表之间的共同元素等任务。 交集两个数组的交集可以通过遍历一个数组的每个元素并检查它是否存在于另一个数组中来找到。结果数组包含同时存在于两个数组中的元素。 注意:并集和交集的所得数组可以按任何顺序打印。数组并集和交集示例示例 1 输入 输出 Union: {1, 2, 3, 4, 5, 6, 9} Intersection: {1, 5, 9} 示例 2 输入 输出 Union: {10, 20, 25, 30, 35, 40, 50} Intersection: {30, 40} 示例 3 输入 输出 Union: {1, 3, 4, 7, 8, 9} Intersection: {1, 8} 方法:带有搜索方法的蛮力法代码中使用的方法是带有搜索方法的蛮力法。它遍历单个数组的元素,并通过利用辅助函数验证每个元素是否在另一个数组中。它通过遍历每个数组并根据元素的出现情况来执行并集和交集操作。 让我们在 Java 程序中实现上述方法。 文件名:UnionIntersectionOfArrays.java 输出 Union of the two arrays: [1, 2, 3, 4, 5, 6, 7, 8] Intersection of the two arrays: [4, 5] 时间复杂度: O(n⋅m),因为需要检查 array2 中的每个元素与 array1 的匹配情况。 辅助空间: O(n+m),用于将元素存储在并集和交集集中。 方法:基于集合的方法代码使用基于集合的方法来计算两个数组的并集和交集。它利用 HashSet 进行高效存储和查找,确保并集的唯一元素并简化快速的交集检查。 让我们在 Java 程序中实现上述方法。 文件名:UnionAndIntersection.java 输出 The union of both the arrays is: 1 2 3 4 5 6 7 8 The intersection of both the arrays is: 4 5 时间复杂度: O(n+m),其中 n 和 m 分别是 firstArray 和 secondArray 的长度。因为代码对每个数组执行了两次独立的遍历。 辅助空间: O(n+m),用于将元素存储在并集和交集集中。 方法:使用 Map 数据结构代码实现使用 Map 数据结构来查找两个数组的并集和交集。它利用 HashMap 来跟踪元素出现次数,并利用 HashSet 来高效地计算并集和交集。 让我们在 Java 程序中实现上述方法。 文件名:UnionIntersectionUsingMap.java 输出 Union of the two arrays: [1, 2, 3, 4, 5, 6, 7, 8] Intersection of the two arrays: [4, 5] 时间复杂度: O(n+m),其中 n 是 array1 的长度,m 是 array2 的长度。这包括处理两个数组以及 HashMap 和 HashSet 操作的时间。 辅助空间: O(n+m),用于将元素存储在用于跟踪和计算并集和交集的 HashMap 和 HashSet 中。 下一个主题学习 Java 需要多少天 |
在本节中,我们将讨论如何以 Z 字形打印矩阵。此外,我们将创建一个 Java 程序,该程序将打印矩阵的所有 Z 元素。Z 字形包括第一行、右对角线和最后一行的元素...
阅读 2 分钟
可以使用 DoubleBuffer.wrap() 方法在 Java 中创建由现有 double 数组支持的 DoubleBuffer。使用此技术,我们可以使用已存在的数组来存储缓冲器的数据,而无需复制它。缓冲器的限制设置为数组的长度,...
5 分钟阅读
在 Java 中,static 关键字可以与变量、常量和函数一起使用。使用 static 关键字的主要目的是管理内存,以便我们可以高效地使用内存。在本节中,我们将讨论 Java 中的静态函数。静态函数 如果……
阅读 3 分钟
聊天机器人彻底改变了企业和个人进行对话的方式。随着自然语言处理 (NLP) 和机器学习的进步,聊天机器人已成为自动化客户支持、改善用户体验和简化各种业务运营的流行工具。在本文中,我们将探讨...
阅读 6 分钟
在 Java 中,valueOf() 方法是许多类中定义的静态方法,主要是在原始数据类型(如 Integer、Double、Boolean 等)的包装类中。此方法用于从字符串表示创建相应包装类的对象...
阅读 4 分钟
Java 是一种灵活且流行的编程语言,开发人员可以在其中编写、调试和优化代码,而无需担心任何特定的硬件或其他技术。在本节中,我们将讨论 Java 命令和工具,探讨它们的特性以及它们如何帮助...
5 分钟阅读
我们收到的输入是两个包含非负数的数组。我们的任务是找到 p ^ q 的最大值,其中 p 是第一个数组中的任意元素,q 是第二个数组中的任意元素。除了最大值之外,...
阅读 8 分钟
为了将提供的字符读取到 CharBuffer 实例中,使用了 Java 的 Reader Class 的 read(CharBuffer) 方法。Java 可以获取一个称为 CharBuffer 的自定义缓冲区。nio 包,旨在高效地存储和操作字符序列。这种方法使得管理字符...
5 分钟阅读
在这篇关于 Java 编程语言的文章中,我们将详细解释“UTF”一词及其转换。我们将学习编程语言的不同形式、它们的用途以及它们在编码时的性质。什么是 Unicode?Unicode...
阅读 4 分钟
该 语句是与 switch 语句一起使用的条件标签。它包含一个代码块,该代码块仅在 switch 值与 case 匹配时执行。switch 语句可以包含多个 case 标签。每个 case 标签必须包含不同的...
阅读 2 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India