两种情况 注: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);
}
}