测试点5是不是错的
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int wide=sc.nextInt();
int[] tall=new int[wide];
int num=0;
for (int i = 0; i < wide; i++) {
tall[i]= sc.nextInt();
}
for (int i = 1; i <wide-1; i++) {
if(tall[i]>tall[i+1]){
for (int j =i+1; j <wide-1; j++) {
if(tall[j]<tall[j+1]){
num++;
i=j;
break;
}
}
}
}
System.out.println(num);
}
}
这是不加首尾判定的代码能过
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int wide=sc.nextInt();
int[] tall=new int[wide];
int num=0;
do {
for (int i = 0; i < wide; i++) {
tall[i]= sc.nextInt();
}
}while((tall[0]!=0)|(tall[wide-1]!=0));
for (int i = 1; i <wide-1; i++) {
if(tall[i]>tall[i+1]){
for (int j =i+1; j <wide-1; j++) {
if(tall[j]<tall[j+1]){
num++;
i=j;
break;
}
}
}
}
System.out.println(num);
}
}
加了首尾判定,测试点5 RE 下面是下载的测试点5的输入 200 0 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 0 4 9 7 4 2 5 8 6 4 5 8 6 1 3 4 5 6 8 7 7 4 5 7 5 7 5 4 3 8 6 3 3 3 4 6 7 2 5 8 7 5 9 3 4 5 6 7 8 7 6 5 3 2 3 4 7 6 4 8 6 5 6 5 2 4 7 8 9 6 7 8 2 3 7 8 5 6 7 8 5 3 4 9 7 6 4 5 6 8 7 5 3 5 9 8 6 7 8 7 8 7 7 8 9 2 3 4 5 7 8 6 5 4 5 7 6 7 8 9 0 0 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 0 4 9 7 4 2 5 8 6 4 5 8 6 1 3 4 5 6 8 7 7 4 5 7 5 7 5 4 3 8 6 3 3 3 4 6 7 2 5 8 7 输出是53 最后一个数是7为什么还能运行,不是应该保证首尾为0吗????????