概述:
有一个阵营,里面有n个小队(1<=n<=100),每个小队都有他们的能力值ai(0<=i<n)。
现在有一个紧急情况,需要从这些小队中选出连续的几个小队,组成一个最强的团队。最强的团队的定义为这个团队的所有小队的平均能力值最高。如果有多个最强团队,则选包含小队最多的一个。
现在请你写个程序,输出这个最强的团队包含的小队的个数。
输入小队的数量n,和n个数,分别代表各小队的能力值ai
输出一个数表示这个最强团队包含的小队的个数
示例1
输入:
6
[1,2,3,3,2,1]
输出:
2
题目地址
37.最强的团队
题目解题方法有文档解释,文档下载地址为以下
程序员面试宝典
但是官方只有解题思路,没有具体代码,所以这边我就附上我的解题代码,具体思路可以参照上面的解释,不一定完全一样,但是相似。
public int solution(int n,int[] a) {
int max = Integer.MIN_VALUE;
int nums = 1;
for(int i=0;i<n;i++){
if(a[i]>max){
max = a[i];
nums = 1;
continue;
}
if(a[i]==max && a[i] == a[i-1]){
nums++;
}
}
return nums;
}