判断数组是否有序 0 无序 1 升序 2 降序 3 全相等
public class lianxi02 {
public static void main(String[] args) {
int[] arr = {45, 7, 5, 15, 1, 23, 8, 70, 6, 96, 2, 6, 51};
System.out.println(isOrder(arr));
}
// 判断数组是否有序 0 无序 1 升序 2 降序 3 全相等
// static int isOrder(int[] array) {
//
// int stl = 0;
// int lts = 0;
// for (int i = 1; i < array.length; i++) {
// if (array[i] > array[i - 1]) {
// stl++;
// } else if (array[i] < array[i - 1]) {
// lts++;
// }
// }
// if (stl > 0 && lts == 0) {
// return 1;
// } else if (stl == 0 && lts > 0) {
// return 2;
// } else if (stl == 0 && lts == 0) {
// return 3;
// }
// return 0;
// }
static int isOrder(int[] array) {
int ascCount = 0;
int descCount = 0;
for (int i = 0; i < array.length - 1; i++) {
if (array[i] <= array[i + 1]) {
ascCount++;
}
if (array[i] >= array[i + 1]) {
descCount++;
}
}
if (ascCount == array.length - 1 && descCount == array.length - 1) {
return 3;
} else if (descCount == array.length - 1) {
return 2;
} else if (ascCount == array.length - 1) {
return 1;
}
return 0;
}
}

浙公网安备 33010602011771号