判断数组是否有序 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;
  }
}
posted @ 2021-10-19 11:05  HelelLucifer  阅读(300)  评论(0)    收藏  举报