1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| class Solution { public int[] subSort(int[] array) { int[] res = new int[2]; int max = Integer.MIN_VALUE; int min = Integer.MAX_VALUE;
int firstIndex = -1, lastIndex = -1; for (int i = 0; i < array.length; i++) { if (array[i] < max) { lastIndex = i; } else { max = Math.max(max, array[i]); }
if (array[array.length - i - 1] > min) { firstIndex = array.length - 1 - i; } else { min = Math.min(min, array[array.length - i - 1]); } }
res[0] = firstIndex; res[1] = lastIndex; return res; } }
|