最大波动 201609-1

问题描述
  小明正在利用股票的波动程度来研究股票。小明拿到了一只股票每天收盘时的价格,他想知道,这只股票连续几天的最大波动值是多少,即在这几天中某天收盘价格与前一天收盘价格之差的绝对值最大是多少。
输入格式
  输入的第一行包含了一个整数 n,表示小明拿到的收盘价格的连续天数。
  第二行包含 n个正整数,依次表示每天的收盘价格。
输出格式
  输出一个整数,表示这只股票这 n天中的最大波动值。
样例输入
6
2 5 5 7 3 5
样例输出
4
样例说明
  第四天和第五天之间的波动最大,波动值为|3-7|=4。
评测用例规模与约定

  对于所有评测用例,2 ≤ n ≤ 1000。股票每一天的价格为1到10000之间的整数。

参考代码:

#include <iostream>
using namespace std;
int  main(){
int result=0;
int n;
cin >> n;
int *p = new int[n];
for (int i = 0; i < n;i++)
{
cin >> p[i];
}
//n天内最大波动
/*for (int i = 0; i < n-1;i++)
{
for (int j = i+1; j < n;j++)
{
if (((p[i] - p[j])>0) && ((p[i] - p[j])>result)){
result = p[i] - p[j];
}
else if (((p[i] - p[j])<0) && ((p[j] - p[i])>result))
{
result = p[j] - p[i];
}
}
}*/
//相邻天的波动最大值
for (int i = 0; i < n-1;i++)
{
if (((p[i] - p[i+1])>0) && ((p[i] - p[i+1]) > result)){
result = p[i] - p[i + 1];
}
else if (((p[i] - p[i + 1])<0) && ((p[i + 1] - p[i])>result))
{
result = p[i + 1] - p[i];
}
}
cout << result;

        return 0;
}

提交结果:

代码长度编程语言评测结果得分时间使用空间使用
425BC++正确1000ms508.0KB

原文地址:https://www.cnblogs.com/bao-ZhangJiao/p/14268816.html