看美女
时间限制:
1000 ms | 内存限制:
65535 KB
难度:
0
-
描述
-
“排排站,赏美女……”
Fujun师兄在今年南京赛区人品爆发,怒摘银奖,心情倍好,现组织大家去海边站成一排看美女 ^.^
N个人站成一排。不巧,美女们只在队伍的最左边和最右边,你们可以向左看或者向右看。如果第i个人向左看,当且仅当第i个人的身高h[i]>=h[j] ( j=1...i-1) 时,他能看到美女;如果第i个人向右看,当且仅当第i个人的身高h[i]>=h[j] (j=i+1..N)时,他能看见美女。已知N个人的身高,求最多有多少人能看到美女。-
输入
-
先输入一个数T 表T组
每组数据: 第一行 N。N<=100 000
第二行 N个整数, 1<=h<=20000
输出
- 输出答案 换行。 样例输入
-
1 5 1 4 7 6 2
样例输出
-
5
-
先输入一个数T 表T组
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int times = scanner.nextInt();
while (times-- != 0) {
int number = scanner.nextInt();
int arr[] = new int[number];
int vis[] = new int[number];
int max = 0;
for (int i = 0; i < number; i++) {
arr[i] = scanner.nextInt();
if (arr[i] >= max) {
vis[i] = 1;
}
if (max < arr[i]) {
max = arr[i];
}
}
max = 0;
for (int i = number - 1; i >= 0; i--) {
if (arr[i] >= max) {
vis[i] = 1;
}
if (max < arr[i]) {
max = arr[i];
}
}
int count = 0;
for (int i = 0; i < number; i++) {
if (vis[i] == 1) {
count++;
}
}
System.out.println(count);
}
}
}