CCF201609-1 最大波动 java (100分)

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

问题描述:先输入一个十进制整数n,再输入n个正整数,求它们相邻数之差(绝对值)的最大值。

问题分析:这是一个求最大值的问题,把n个数过一遍即可。

package test;

import java.util.Scanner;

public class a_04 {

    /*
     * public static void main(String[] args){ //老掉牙的方法! Scanner in=new
     * Scanner(System.in); int n;//天数 n=Integer.parseInt(in.nextLine());
     * n=in.nextInt();
     * 
     * String inputLine[]=(in.nextLine()).split(" "); int line[]=new int[n];
     * for(int i=0;i<inputLine.length;i++){
     * line[i]=Integer.parseInt(inputLine[i]); }
     * 
     * for(int a:line){ System.out.print(a+" "); } }
     */
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in); // 最新的接收数据方法!!以后都用这个方法,简单而且有效
        int n = sc.nextInt(); // 天数
        int[] line = new int[n];
        for (int i = 0; i < n; i++) {
            line[i] = sc.nextInt();
        }
        int max=0;  //最大波动值
        for(int i=0;i<n-1;i++){
            int tempMax=Math.abs(line[i]-line[i+1]);//临时最大波动值
            if(tempMax>max){
                max=tempMax;
            }
        }
        System.out.println(max);
        sc.close();
   
    }
}
原文地址:https://www.cnblogs.com/liushuncheng/p/7899100.html