在本教程中,我们将编写一个程序来查找给定数组中的峰元素
峰值元素是大于周围元素的元素。让我们看看解决问题的步骤。
用伪数据初始化数组。
检查第一个元素和最后一个元素的峰值元素状况。
从第二个元素遍历数组。
检查当前元素是否大于上一个元素和下一个元素。
如果上述条件满足,则返回。
打印结果
让我们看一下代码。
#include <bits/stdc++.h> using namespace std; int findPeakElement(int arr[], int n) { if (n == 1) { return arr[0]; } if (arr[0] >= arr[1]) { return arr[0]; } if (arr[n - 1] >= arr[n - 2]) { return arr[n - 1]; } for (int i = 1; i < n - 1; i++) { if (arr[i] >= arr[i - 1] && arr[i] >= arr[i + 1]) { return arr[i]; } } return arr[0]; } int main() { int arr[] = { 1, 2, 5, 4, 7 }; cout << findPeakElement(arr, 5) << endl; return 0; }输出结果
如果运行上面的代码,则将得到以下结果。
7
本文向大家介绍在C ++的链接列表中查找峰值元素,包括了在C ++的链接列表中查找峰值元素的使用技巧和注意事项,需要的朋友参考一下 在本教程中,我们将编写一个程序,该程序在给定的链表中查找峰值元素。 峰值元素是大于周围元素的元素。让我们看看解决问题的步骤。 为链表创建一个struct节点。 用伪数据创建链接列表。 检查基本情况,例如链表是否为空或长度为1。 将第一个元素存储在一个名为previou
本文向大家介绍在C ++中查找2D数组中的峰元素,包括了在C ++中查找2D数组中的峰元素的使用技巧和注意事项,需要的朋友参考一下 在本教程中,我们将编写一个程序来查找2D数组中的峰值元素。 如果周围所有元素均小于该元素,则该元素称为峰元素。 让我们看看解决问题的步骤。 用伪数据初始化2D数组。 遍历2D数组。 首先,检查2D数组的角元素。 接下来,编写2D数组的第一行和最后一行的条件。 现在,检
所以我试图解决以下问题: 给定一个整数数组。找到其中的峰值元素。如果数组元素不小于其相邻元素,则该元素为峰值。对于角元素,我们只需要考虑一个邻居。例如,对于输入数组{5,10,20,15},20是唯一的峰值元素。对于输入数组{10、20、15、2、23、90、67},有两个峰值元素:20和90。请注意,我们需要返回任何一个峰值元素。 从以下链接:http://www.geeksforgeeks.o
这周我开始了MIT OCW6.006的讲座,在第一节课上教授介绍了找峰算法。 1 2 3 4 5 6 7 8 9 a-i是数字 位置2是峰当且仅当b≥a且b≥c。如果i≥h,位置9是峰值 他提出这个算法是为了提高它的复杂度: [9,8,7,6,5,2,3,1] 该算法的工作原理如下: 步骤1:A[n/2] 6<7?-->是的,看左半部分[9,8,7,6] 步骤2:A[n/2] 8<9?-->是的,
问题内容: 您能告诉我是否有DOM API搜索具有给定属性名称和属性值的元素: 就像是: 问题答案: 更新: 在过去几年中,情况发生了巨大变化。现在,您可以可靠地使用和,有关如何执行操作。 现在不需要jQuery依赖项。如果您使用的是jQuery,那就太好了……如果您不使用jQuery,则不必再依赖于仅通过属性选择元素了。 在Vanilla javascript中,执行此操作的方法不是很短,但是有