题目描述
小明正在利用股票的波动程度来研究股票。
小明拿到了一只股票每天收盘时的价格,他想知道,这只股票连续几天的最大波动值是多少,即在这几天中某天收盘价格与前一天收盘价格之差的绝对值最大是多少。
输入格式
输入的第一行包含了一个整数 n,表示小明拿到的收盘价格的连续天数。
第二行包含 n 个正整数,依次表示每天的收盘价格。
输出格式
输出一个整数,表示这只股票这 n 天中的最大波动值。
数据范围
对于所有评测用例,2≤n≤1000。
股票每一天的价格为 1 到 10000 之间的整数。
样例
输入样例:
6
2 5 5 7 3 5
输出样例:
4
样例解释
第四天和第五天之间的波动最大,波动值为 |3−7|=4。
算法1
res 存储最大值, 第二次循环 i 从 1 开始防止 f[i - 1] 越界
时间复杂度 O(n)
参考文献
C++ 代码
#include<iostream>
#include<cmath>
using namespace std;
const int N = 1010;
int n, res;
int f[N];
int main()
{
cin >> n;
for(int i = 0; i < n ; i ++) cin >> f[i];
for(int i = 1; i < n; i ++) res = max(res, abs(f[i]- f[i - 1]));
cout << res << endl;
return 0;
}