把一個數組最開始的若干個元素搬到數組的末尾,咱們稱之爲數組的旋轉。輸入一個遞增排序的數組的一個旋轉,輸出旋轉數組的最小元素。例如數組{3,4,5,1,2}爲{1,2,3,4,5}的一個旋轉,該數組的最小值爲1。 java
輸入:輸入可能包含多個測試樣例,對於每一個測試案例, 數組
輸入的第一行爲一個整數n(1<= n<=1000000):表明旋轉數組的元素個數。 測試
輸入的第二行包括n個整數,其中每一個整數a的範圍是(1<=a<=10000000)。 spa
輸出:對應每一個測試案例, code
輸出旋轉數組中最小的元素。 排序
解:很簡單的一道題但提交後前兩個老是也不能經過,後來才發現有兩種狀況須要額外注意一下: it
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.StreamTokenizer; /** * 旋轉數組的最小數字 * @author aqia358 * */ public class Main { public static void main(String[] args) throws IOException { StreamTokenizer st = new StreamTokenizer(new BufferedReader( new InputStreamReader(System.in))); while (st.nextToken() != st.TT_EOF) { int n = (int) st.nval; int count = 0; int[] a = new int[n]; boolean flag = false; while (count < n) { st.nextToken(); a[count] = (int) st.nval; if (count >= 1) { if (a[count] < a[count - 1]) { flag = true; System.out.println(a[count]); } } count++; } if(!flag) System.out.println(a[0]); } } }