1. 程式人生 > >(JAVA)最大波動

(JAVA)最大波動

問題描述

試題編號: 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之間的整數。



個人答案

import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		new Main().run();
		
	}
	//在這幾天中某天收盤價格與前一天收盤價格之差的絕對值最大是多少
	public void run(){
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		int[] arr = new int[n];
		//存入陣列
		for(int i = 0;i < n;i++){
			arr[i] = sc.nextInt();
		}
		
		//記錄最大絕對值
		int result = 0;
		int num = 0;
		for(int j = 0;j < (arr.length-1);j++){
			 num = arr[j] - arr[j+1];
			 if(num < 0){
				 //取絕對值
				 num = -num;
			 }
			 if(num > result){
				 result = num;
			 } 
		}
		
		System.out.println(result);
		
	}
	
}