1. 程式人生 > >CCF -CSP考試 [email protected][CCF-最大波動 java實現

CCF -CSP考試 [email protected][CCF-最大波動 java實現

問題描述

小明正在利用股票的波動程度來研究股票。小明拿到了一隻股票每天收盤時的價格,他想知道,這隻股票連續幾天的最大波動值是多少,即在這幾天中某天收盤價格與前一天收盤價格之差的絕對值最大是多少。

輸入格式

輸入的第一行包含了一個整數n,表示小明拿到的收盤價格的連續天數。
  第二行包含n個正整數,依次表示每天的收盤價格。

輸出格式

輸出一個整數,表示這隻股票這n天中的最大波動值。

樣例輸入

6
2 5 5 7 3 5

樣例輸出

4

樣例說明

第四天和第五天之間的波動最大,波動值為|3-7|=4。

評測用例規模與約定

對於所有評測用例,2 ≤ n ≤ 1000。股票每一天的價格為1到10000之間的整數。
思路:這道題是求相鄰數之間差值的絕對值,需要使用math.abs(),呼叫這個函式。首先需要建立一個數組來管理輸入進來的數,通過一個for迴圈進行陣列之間相減。

程式碼

package maxNum;
import java.util.Scanner;
public class MaxNum {

public static void main(String[] args) {
	// TODO Auto-generated method stub
	Scanner in = new Scanner (System.in);
    int number = in.nextInt();
    
    int array[] = new int[number];
    for(int i=0;i<number;i++)
    {
    	array[i] = in.nextInt();
    }
    int max=0;
    for(int i=0;i<number-1;i++)
    {
    	if(Math.abs(array[i]-array[i+1])>max)
    	{
    		max=Math.abs(array[i]-array[i+1]);	
    	}
    }
    System.out.println(max);
}

}
小弟菜鳥,剛剛開始,有不對的地方請大佬多多指教。測試完畢 滿分。