题目描述

输入描述

输出描述
输出一行包含一个整数,表示答案。
输入输出样例
示例
输入
5
1 2 5 3 5
输出
2
样例说明:
a2 和 a4 可能是三元组的中心。
运行限制
- 最大运行时间:1s
- 最大运行内存: 256M
题解:
java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int n = scan.nextInt();
int[] arr = new int[n];
for (int i = 0; i < n; i++) {
arr[i] = scan.nextInt();
}
int count = 0;
for (int i = 0; i < n; i++) {
boolean flagLeft = false;
boolean flagRight = false;
for (int j = 0; j < i; j++) {
if (arr[j] < arr[i]) {
flagLeft = true;
break;
}
}
for (int j = i+1; j < n; j++) {
if (arr[j] > arr[i]) {
flagRight = true;
break;
}
}
if (flagLeft && flagRight) {
count++;
}
}
System.out.print(count);
scan.close();
}
}
解题思路:
遍历数组每个元素作为三元组中心,检查其左侧是否存在更小的数、右侧是否存在更大的数,同时满足两个条件则计数加一,最终输出总数量。