题解
【入门】查找“支撑数”
1 条题解
-
0
解题思路
检查每个不在两端的数,只有比左右邻居都大时才输出。
参考代码
// 先读入题目给出的输入数据。 // 用简单的循环完成题目要求。 #include <iostream> using namespace std; int main() { int m, a[105]; cin >> m; for (int i = 0; i < m; i++) cin >> a[i]; for (int i = 1; i < m - 1; i++) { // 中间的数必须同时大于左边和右边。 if (a[i] > a[i - 1] && a[i] > a[i + 1]) cout << a[i] << endl; } return 0; }复杂度分析
代码只使用了简单变量、数组、循环和判断。时间复杂度根据题目的枚举或扫描过程计算,额外空间主要是输入数组,空间复杂度为 O(n)。
- 1