Java Program to Find the Missing Element in a Given Permutation2025年3月26日 | 阅读 3 分钟 任务是确定给定序列中缺失的数字。该数组将包含此范围内的所有数字,但会遗漏一个。 查找缺失数字的方法朴素方法:使用哈希这种方法涉及创建一个辅助数组(hashArray)来跟踪输入数组中每个元素的频率。此辅助数组中频率为 0 的元素就是缺失的数字。 算法
让我们在 Java 程序中实现上述算法。 示例输出 4 解释在上述程序中,输入数组中每个数字的频率存储在大小为 N+1 的辅助数组(hash)中。当我们在输入数组中迭代时,我们会递增 hash 数组中匹配索引处的值。 我们首先填充频率数组,然后搜索 hash 数组中未变为零的索引。由于这表明范围 [1, N] 中的匹配数字未出现在输入数组中,因此该索引表示缺失的数字。 高效方法:使用求和公式这种方法利用了前 N 个自然数的求和公式 通过从总和中减去数组元素的总和,我们将得到缺失的数字。 示例输出 4 解释首先,使用公式获取 [1, N] 范围的总和。接下来,计算输入数组的元素总数。这两个总和之间的差值代表了数组本应存在的数字,但未在数组中找到。 高效方法:使用异或运算当一个数字与其自身进行异或运算时,结果为 0;当一个数字与 0 进行异或运算时,结果是数字本身。 示例输出 4 解释要获得 xorTotal,首先将 1 到 N 的每个数字进行异或运算。通过对输入数组中的每个元素进行异或运算来获取 xorArray。通过对 xorTotal 和 xorArray 进行异或运算,您可以找到缺失的数字。所有其他数字都会被抵消,只剩下缺失的数字。 结论朴素方法涉及使用辅助数组,而更有效的方法使用求和公式或异或运算。后一种方法因其 O(1) 空间复杂度和简单的实现而更受青睐,使其适用于更大的数据集。 下一个主题Java Xmx |
在给定的整数数组 arr[](大小为 n)中,找到仅由素数组成的连续子数组的最大和。换句话说,不允许在选定的子数组中存在非素数。示例 1:输入:int a[] = {...
7 分钟阅读
Java 中的 IdentityHashMap 类 IdentityHashMap 类类似于 HashMap 类。它实现了 AbstractMap 类。然而,它在比较键(或值)时使用引用相等性而不是对象相等性。它不是 Map 的通用实现。虽然此类实现了...
阅读 12 分钟
根据应用程序需要支持的并发连接数,定义连接池要求,确定最大池大小。选择连接池是否应该是动态的——即,根据需求进行扩展或收缩。选择超时机制,例如……
阅读 3 分钟
Java 是一种多功能且广泛使用的编程语言,以其面向对象的特性和平台无关性而闻名。使 Java 成为强大开发工具的关键特性之一是它对泛型的支持。Java 中的泛型允许您创建类、接口和方法...
阅读 4 分钟
java.time.chrono.IsoChronology 类有一个 eras() 方法。使用 IsoChronology 类可以检索属于此特定 Iso 日历的所有时代。语法:public List eras() 参数:此方法不接受任何参数。返回值:属于...
阅读 2 分钟
组合学的基本思想是排列是集合项在多种顺序下的排列。我们将通过几种在 Java 中创建排列的技术,并附带代码示例和详细解释。排列是如何发生的?排列是元素在特定...
阅读 6 分钟
? 要在 Java 中给日期添加 24 小时(1 天),我们可以使用 'Calendar' 类及其 add() 方法。以下是一个示例:文件名:Twentyfourhours.java import java.util.Calendar; public class Twentyfourhours { public static void main(String[] args) { Calendar calendar = Calendar.getInstance(); ...
阅读 4 分钟
“有效数字”问题涉及确定给定的字符串是否代表一个有效的数值。这是软件开发中一个常见的问题,尤其是在解析应该代表数字的输入数据时。问题陈述 给定一个字符串 s,确定它是否代表一个有效数字。有效数字...
阅读 2 分钟
调度程序在构建 Java 应用程序中扮演着重要角色。QuartzJobScheduling 是一个开源的作业调度库。它拥有一组丰富的功能,几乎可以集成到我们的 Java 应用程序中。我们可以将其与独立应用程序或最大的电子商务系统集成。Quartz 是...
阅读 6 分钟
在本节中,我们将创建一个 Java 程序来显示从 1 到 100 的奇数。要学习 Java 奇数程序,您必须具备 Java for 循环和 if 语句的基本知识。我们可以使用不同的 Java 循环来显示奇数:使用...
阅读 3 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India