计算由不同元素子数组形成的对数(Java)2025年1月6日 | 3 分钟阅读 给定一个数组,我们的任务是找出可以从每个包含不同整数的潜在连续子数组中形成多少对。数组中的正数范围从 0 到 n-1,其中 n 是数组的大小。 示例 1 输入 int a[] = [4, 8, 8, 9] 输出 子数组元素形成的不同的对总数为 2。 解释 对于给定的数组 [4, 8, 8, 9],可以形成的子数组有 (4,8) 和 (8,9) 这两对不同的元素。因此,不同的对总数为 2。 示例 2 输入 int a[] = [1, 4, 2, 4, 3, 2] 输出 子数组元素形成的不同的对总数为 8。 解释 对于给定的数组 [1, 4, 2, 4, 3, 2],可以形成的子数组是 [1, 4, 2]、[2, 4, 3] 和 [4, 3, 2]。因此,从这些子数组中,我们可以轻松地形成不同的对,如 (1, 4)、(1, 2)、(4, 2)、(2, 4)、(2, 3)、(4, 3)、(4, 2)、(3, 2)。因此,不同的对总数为 8。 方法:滑动窗口在给定方法中,可以使用滑动窗口技术来跨越给定数组的连续子数组维护一个窗口。这个想法是利用滑动窗口来处理指定的数组。其主要目标是确保滑动窗口中的每个元素都是唯一的。为了标记当前窗口中的元素,让我们使用一个从索引 left 到索引 right 的窗口覆盖和一个布尔数组 visited。原则是窗口内的每个元素都是唯一的,并且窗口是连续的。直到所有元素再次唯一,我们继续将窗口向右扩展。如果发现重复项,则从左侧缩小窗口。 随着我们进行,我们更新当前窗口中的对数。一项特定结果表明,一个不断扩展的窗口中的对数可以按因子一或窗口大小减一进行增加。索引 left 是窗口的开始位置,索引 right 是窗口的结束位置。 实施文件名: CountPairsFromSubarrays.java 输出 The total number of distinct pairs formed by the elements of sub-arrays is 8 复杂度分析 时间复杂度为 O(N^2),其中 'N' 表示给定数组的大小。空间复杂度为 O(N),因为使用 visited 数组来标记当前窗口的元素。 |
Java 中的布尔求值是编程逻辑的基础,它使开发人员能够基于求值为 true 或 false 的条件做出决策和控制程序流。这个基本概念围绕使用布尔值、逻辑运算符和条件语句来创建健壮且……
阅读 4 分钟
面向对象编程 (OOP) 是许多现代编程语言(包括 C++ 和 Java)支持的一种范式。OOP 的关键特性之一是多态性,它允许在基类中定义方法并在派生类中重写。两者...
阅读 4 分钟
在 Java 中,有多种方法可以计算电费。我们可以使用静态值、命令行参数、方法和函数、用户定义方法以及 do-while 和 for 循环来计算电费。让我们一一了解它们:使用静态方法在这种情况下...
5 分钟阅读
如何在 Eclipse 中运行 Java 程序 在本节中,我们将一步一步学习如何在 Eclipse 中运行 Java 程序。步骤 1:打开 Eclipse 并单击 File > New > Java Project。步骤 2:提供项目名称并单击 Finish 按钮。步骤 3:在...
阅读1分钟
计算机视觉最重要的应用之一是人脸检测,它应用于安全系统、识别系统以及图像处理系统等许多领域。尽管有许多可用的 Java 人脸检测软件,但值得一提的是 OpenCV,一个...
阅读 4 分钟
Y 形链表是一种链表,其中两条不同的链表在共享的交叉点处相遇。在此 Java 程序中,我们说明了如何确定两条链表汇合的交叉点。该方法包括遍历...
14 分钟阅读
如何比较两个ArrayList在Java中:Java equals()方法 Java removeAll()方法 Java retainAll()方法 Java ArrayList.contains()方法 Java contentEquals()方法 Java Stream接口 Java equals()方法 Java List接口的equals()方法将指定的对象与列表进行比较以确定其相等性。它覆盖了equals()方法...
5 分钟阅读
图像处理是一项基本技术,它使计算机能够分析、操作和解释视觉信息。从增强照片到实现高级计算机视觉应用,图像处理在现代技术中起着至关重要的作用。Java 凭借其强大的库和框架,为...
阅读 6 分钟
在本节中,我们介绍了 Java 程序中查找两个数 GCD 的不同逻辑。最大公约数:它是能够整除两个或多个数字的最高数字。它是 GCD 的缩写。它也称为最大公因子 (GCF)...
阅读 4 分钟
在 Java 编程中,确定两个矩阵是否是彼此的镜像图像涉及按相反的顺序比较对应元素。当一个矩阵的行或列是另一个矩阵对应行或列的倒置版本时,该矩阵被认为是另一个矩阵的镜像图像……
阅读 6 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India