T1:
题解:寻找峰值元素
思路分析
本题要求统计整数数组中峰值元素的个数。峰值元素定义为严格大于其左右相邻元素的元素。由于第一个和最后一个元素缺少一个相邻元素,因此它们不能是峰值元素。
解决方案是遍历数组(从第二个元素到倒数第二个元素),检查每个元素是否严格大于其左右相邻元素。如果满足条件,则计数器加1。
算法步骤
- 读取整数
n,表示数组长度。 - 读取
n个整数,存入数组arr。 - 初始化计数器
count为 0。 - 遍历数组索引从 1 到
n-2(即第二个元素到倒数第二个元素):- 如果当前元素
arr[i]严格大于左邻居arr[i-1]且严格大于右邻居arr[i+1],则count增加 1。
- 如果当前元素
- 输出
count。
复杂度分析
- 时间复杂度:O(n),需要遍历数组一次。
- 空间复杂度:O(n),用于存储数组。
代码实现(C++)
#include <iostream>
using namespace std;
int main() {
int n;
cin >> n;
int arr[n];
for (int i = 0; i < n; i

最低0.47元/天 解锁文章
825

被折叠的 条评论
为什么被折叠?



