两种情况 注:count表示可排序的次数。 1、升序遇到降序 count++; 2、降序遇到升序 count++; 做这种题不要不敢写,想到哪里写到哪里,我就是做题的时候不敢往下写,生怕自己走错方向,然后一直错下去,自己还不知道,就不敢写了,其实大家能读懂题目就已经成功了30%~40%,能坚持写下去才是最终的王者!

public class Main{
       public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int [] arr = new int[n+1];//防止最后多出一个数是单个成一队
        for (int i = 0; i < n; i++) {
            arr[i] = sc.nextInt();
        }

        int count = 0;
        int i = 1;
        while (i<arr.length){
            if(arr[i-1] < arr[i]){
                while(i<arr.length && arr[i-1] < arr[i]){
                    i++;
                }
                count++;
                i++;
            }else if(arr[i-1] == arr[i]){
                i++;
            }else{
                while(i<arr.length && arr[i-1] > arr[i]){
                    i++;
                }
                count++;
                i++;
            }
        }
        System.out.println(count);
    }
}