競技プログラミングの問題を解く際の時間短縮のため、Javaで配列が昇順 or 降順かを調べるメソッドを作成した。配列の要素が一個しかない場合、どう判定しようか迷ったが、そもそも要素が一個しかない場合、このメソッドを使うべきではないので、例外を上げることにした。
// 配列が昇順か調べる boolean isAscendingOrder (int[] array) { if (array == null || array.length == 0) { throw new IllegalArgumentException("Input array is null or empty."); } // 要素が一個しかない場合は、判定できないので、例外を上げる。 if (array.length == 1) { throw new IllegalArgumentException("Input array has only one element, so can't judge it."); } for (int i = 0; i <= array.length - 2; i++) { if (array[i] > array[i + 1]) { // 同値の場合は、false にしないことにする。(昇順と判定) return false; } } return true; } // 配列が降順か調べる boolean isDescendingOrder (int[] array) { if (array == null || array.length == 0) { throw new IllegalArgumentException("Input array is null or empty."); } // 要素が一個しかない場合は、判定できないので、例外を上げる。 if (array.length == 1) { throw new IllegalArgumentException("Input array has only one element, so can't judge it."); } for (int i = 0; i <= array.length - 2; i++) { if (array[i] < array[i + 1]) { // 同値の場合は、false にしないことにする。(降順と判定) return false; } } return true; }