Back to course home
0% completed
Vote For New Content
Time Complexity 3N
Deshapriya
Jan 5, 2024
public static int sort(int[] arr) {
int min = Integer.MAX_VALUE;
int max = Integer.MIN_VALUE;
if (arr.length == 1) return 0;
for (int i = 0; i < arr.length; ++i) {
if (i == 0) {
if (arr[i] > arr[i + 1]) {
min = Math.min(min, arr[i]);
max = Math.max(max, arr[i]);
}
} else if (i == arr.length - 1) {
if (arr[i] < arr[i - 1]) {
min = Math.min(min, arr[i]);
max = Math.max(max, arr[i]);
}
} else {
if (arr[i] > arr[i + 1] || arr[i] < arr[i - 1]) {
min = Math.min(min, arr[i]);
max = Math.max(max, arr[i]);
}
}
}
if (min == Integer.MAX_VALUE && max == Integer.MIN_VALUE) {
return 0;
}
int i = 0;
int j = arr.length - 1;
for (;i < arr.length && min >= arr[i]; i++);
for (;j >= 0 && max <= arr[j]; j--);
return (j - i) + 1;
}
0
0
Comments
Comments
On this page