C++ 中查找无序整数列表中最接近的数字2025 年 5 月 15 日 | 阅读 5 分钟 在本文中,我们将讨论如何在 C++ 中查找未排序整数列表中的最接近的数字。 问题陈述从一系列未排序的整数列表中,我们需要找到相互之间差异最小的整数对。如果存在多个对,我们需要找到每一个。此外,在本文中,“差值”一词始终指绝对差值。 示例解释:对 (44, 42) 和 (42, 40) 的差值最小。四十与四十二之间,以及四十与四十四之间,绝对差值均为二。 解释 - 在这种情况下,所有对的差值都相同,为 100,因此打印所有对。 朴素方法要以蛮力方式解决此问题,请比较列表中的每一对元素,并计算它们之间的绝对差值。 该方法包括以下步骤:
示例让我们举一个例子,在 C++ 中从未排序的整数列表中查找最接近的数字。 输出 ![]() 说明
时间和空间复杂度分析时间复杂度: O(n2) 其时间复杂度为 O(n^2)。这是因为使用了两个嵌套循环来将列表的每个元素与每个其他元素进行比较。外部循环运行 (n-1) 次,内部循环运行 (n - i - 1) 次,其中 n 是列表的大小。由于其 O(n^2) 的时间复杂度,总共有 (n - 1) + (n - 2) +... + 1 = n(n - 1) / 2 次比较。 空间复杂度: O(k) 它具有 O(k) 的空间复杂度,其中 k 是具有最小绝对差值的对的数量。这是因为我们在一个对向量中存储了对索引,该向量的最大大小为 k,这对应于 n 个条目的列表中可能存在的最大配对数,即 n(n-1)/2。因此,该程序的空间复杂度为 O(n^2)。 优化方法 通过对列表进行排序,我们可以比较相邻的条目来找到最小的绝对差值。但是,优化该方法将需要 O(log (n)) 的时间。该方法包括以下步骤:
示例让我们再举一个例子,在 C++ 中从未排序的整数列表中查找最接近的数字。 输出 ![]() 说明
时间和空间复杂度分析时间复杂度: O(nlog(n)) 此代码的时间复杂度为 O(nlog(n)),其中 n 是输入列表中数字的数量。这是因为该算法首先以 O(nlog(n)) 的时间对输入列表进行排序,然后遍历排序列表以查找具有最小绝对差值的对,这需要 O(n) 时间。由于 O(nlog(n)) > O(n),因此总时间复杂度为 O(nlog(n))。 空间复杂度: O(k) 此代码的空间复杂度为 O(k),其中 k 是具有最小绝对差值的对的数量。这是因为代码在一个向量中跟踪具有最小绝对差值的对,该向量的最大大小为 k。 |
在本文中,我们将探讨一些孪生素数对,并构建一个可以生成这种独特对的算法。将提供 C++ 示例来演示查找和打印孪生素数对的有效方法。孪生素数和素数概念素数...
阅读 4 分钟
引言 在统计学和概率论领域,卡方 (χ²) 分布是一个非常重要的概念,在假设检验、置信区间估计和拟合优度检验中都有应用。在 C++ 中,我们可以通过 std::chi_squared_distribution 类生成服从卡方分布的随机数...
阅读9分钟
C++ 和 COBOL 都是高级编程语言。C++ 用于系统级编程和开发高度复杂的应用程序。另一方面,COBOL 在公司和政府的业务和财务管理中仍然更广泛地使用。当...
5 分钟阅读
堆栈是 C++ 中的一种数据结构。它遵循后进先出原则,也称为 LIFO 原则。在此数据结构中,最后添加的元素将首先被删除。在本文中,我们将……
5 分钟阅读
在本文中,我们将讨论 C++ 中的非斜边数。非斜边数是一个正整数,它不能表示为具有整数边的直角三角形的斜边。数论与此不同,因为它不使用勾股定理……
阅读 6 分钟
代表线性插值。它是一种执行线性插值的标准化方法,并首次在 C++20 中引入。它是头文件的一部分。一种使用直线估计两个已知值之间值的技术称为线性插值。数值...
阅读 3 分钟
在本文中,我们将讨论 C++ 中 const 和 mutable 之间的区别。在 C++ 中,const 和 mutable 是关键字,它们在定义数据何时可以修改的条件下起着重要作用。如果不了解它们的基本操作功能,任何程序员都将……
阅读 6 分钟
在本文中,我们将讨论 C++ 中 lambda 表达式和函数指针的区别。在深入了解主要区别之前,让我们先详细了解每个术语。什么是 Lambda 表达式? Lambda 表达式是内联匿名函数,也就是说它们没有名称。Lambda 具有……
5 分钟阅读
数学通常被描述为自然的通用语言,一个揭示支配我们周围世界的内在模式、结构和关系的系统。在无数令研究人员着迷的数学序列和构造中,帕多万序列以其优雅而脱颖而出...
阅读 15 分钟
在本文中,我们将讨论如何在 C++ 中查找前 N 个 Iccanobif 数。在实现之前,我们必须了解 C++ 中的 Iccanobif 数。什么是 C++ 中的 Iccanobif 数?Iccanobif 数与斐波那契数相似。与斐波那契数一样,iccanobif 数……
5 分钟阅读
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India