题目描述:
在数列a1,a2,......,an中,如果对于下标i,j,k满足0<i<j<k<n+1且ai<aj<ak,则称ai,aj,ak为一组递增三元组,aj为递增三元组的中心。
给定一个数列,请问数列中有多少个元素可能是递增三元组的中心。
输入描述:
输入的第一行包含一个整数n.
第二行包含n个整数a1,a2,...,an,相邻的整数间用空格分隔,表示给定的数列。
其中,2<=n<=1000,0<=数列中的数<=10000。
输出描述:
输出一行包含一个整数,表示答案。
输入输出样例
示例
输入
5
1 2 5 3 5
输出
2
解题代码:
import java.util.Scanner;
// 1:无需package
// 2: 类名必须Main, 不可修改
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
//在此输入您的代码...
int n=scan.nextInt();
int[] a=new int[n+1];
for(int i=0;i<n;i++){
a[i]=scan.nextInt();
}
int count=0; //计数
for(int i=1;i<n;i++){
if(m(i,a)&&n(i,a)){
count++;
}
}
System.out.print(count);
}
//判断这个数是否大于前面的数
static boolean m(int i,int[] a){
for(int j=0;j<i;j++){
if(a[j]<a[i]) return true;
}
return false;
}
//判断这个数是否小于后面的数
static boolean n(int i,int[] a){
for(int j=i+1;j<a.length;j++){
if(a[j]>a[i]) return true;
}
return false;
}
}