C++ 代码计算数组的局部极值2025年3月22日 | 阅读4分钟 极值是指最小值或最大值。换句话说,它指的是一个比其两个相邻值都大或都小的值或元素。假设数组 A 中有 n 个元素。当且仅当 A[i] 严格小于其两个相邻值时,它才是局部最小值。如果它严格大于其相邻值,则也会达到局部最大值。由于它们只有一个相邻值,A[0] 和 A[n-1] 既不是最大值也不是最小值。我们必须确定给定数组中的局部极值数量。 示例方法一:使用 For 循环我们将使用 for 循环遍历数组中的元素,从第二个元素开始到倒数第二个元素结束。这可以防止第一个和最后一个元素成为极值。我们将使用 for 循环和 if 语句来判断每个元素是否大于或小于其两个相邻元素。任一条件满足都会使变量 num 增加一次。 示例 输出 Number of local extrema in the array: 3 方法二:C++ 标准模板库在此方法中,我们可以利用 STL(标准模板库)算法的最大值和最小值操作。预定义函数 std::max() 和 std::min() 用于返回给定数组范围内的最大和最小元素。 语法 它具有以下语法: 参数
对于 std::max({element 1, element 2, element 3}): 当前元素及其两个相邻元素是我们必须同时考虑的三个元素,以便找到局部极值。因此,我们的范围中有三个元素。正因为如此,我们使用花括号来指定这三个项目。 在这里,我们从给定数组的第二个元素重复循环到最后一个元素。在 x[i - 1]、x[i] 和 x[i + 1] 中,我们确定最大和最小元素。如果当前元素等于这两个元素中的任何一个,则计数器加一。 示例 让我们以一个例子来计算 C++ 中给定数组的局部极值。 输出 Number of local extrema in the array: 2 结论总之,我们讨论了在数组中查找局部极值的各种方法。在第一种方法中,我们了解了使用 for 循环的基本迭代方法。在第二种方法中,我们利用了 std::min() 和 std::max() 函数。 |
简介 C++ 是一种多功能且功能强大的编程语言,自 20 世纪 70 年代末问世以来经历了多次发展。C++ 由 Bjarne Stroustrup 创建。它被创建为 C 编程语言的扩展,其中包含面向对象编程原理。多年来,多个版本...
阅读 6 分钟
简介:BK 树,或 Burkhard-Keller 树,是一种用于高效近似字符串匹配的数据结构。它在拼写检查器、自动完成和 DNA 测序等需要查找与给定查询接近的单词或序列的应用中特别有用。...
14 分钟阅读
在本文中,我们将讨论其示例和应用。什么是 Sylvester 序列?Sylvester 序列是一个具有特殊数学性质的迷人的整数系列。它被递归定义,这意味着每个项都是由所有项的乘积产生的……
阅读 4 分钟
子网划分是两个单词的缩写:Sub 和 Netting。Sub 是“Substitute”的缩写,Netting 是“Network”的缩写。子网划分是指创建一个替代网络以使某个功能发生。替代网络并不表示创建一个...
阅读 4 分钟
引言 斐波那契数列是数学中最著名的数列之一。它出现在从计算机科学到自然的各个地方。传统上,斐波那契数是通过递归或动态规划计算的。然而,有一种相当优雅的数学方法可以直接计算第 n 个斐波那契数...
阅读 4 分钟
std::wclog 是 C++ 标准库的一个组件,用于宽字符输出,并在日志记录和错误报告的上下文中使用。日志记录是 C++ 中一个重要的机制,用于跟踪程序执行、报告错误和调试问题。常规日志记录……
阅读 10 分钟
七段显示器是一种电子显示设备,它使用七个独立的段来显示数字和一些字母字符。每个段都用字母 a 到 g 标记。液晶显示器、计算器和电子测量设备通常使用七段显示器...
阅读9分钟
可重构数是整数论中具有特殊属性的整数,它们也被称为史密斯数。如果一个数的总位数(除 1 外)等于其所有素数因数的总位数,则该数是可重构的。从计算和数学的角度来看,它们...
阅读 4 分钟
在本文中,我们将讨论如何在 C++ 中生成 0 和 1 的连续子字符串所需的最少翻转次数。连续字符序列称为 0 和 1 的子字符串。它可以通过从原始...
阅读 4 分钟
房屋抢劫问题是动态规划问题的一个经典示例,通常在算法挑战和编码面试中遇到。它展示了如何在约束条件下解决必须做出决策以优化特定结果的问题,这些约束条件限制了某些决策组合。在其......
阅读 13 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India