有一个阵营,里面有n个小队(1<=n<=100),每个小队都有他们的能力值ai(0<=i现在有一个紧急情况,需要从这些小队中选出连续的几个小队,组成一个最强的团队。最强的团队的定义为这个团队的所有小队的平均能力值最高。如果有多个最强团队,则选包含小队最多的一个。现在请你写个程序,输出这个最强的团队包含的小队的个数。输入小队的数量 n,和 n 个数,分别代表各小队的能力值 ai输出一个数表示这个最强团队包含的小队的个数。
根据题意可知,最强团队即团队中每个小队的能力值都是最高的。即解决这道题需要 找出数组中连续最大值的个数,若有多个连续最大值,选择个数最多的。具体实现时,可以先找出数组中最大的能力值是多少,然后设置一个标记tag。接着遍历数组,比较每个数组元素和最大值,数组元素等于最大的值的时候,将 tag标记为 1,数组元素不等于最大值时,将 tag 置为 0。在 tag 等于 1 时统计连续最大值的数量,若统计到多个最大值,则记录最大的那个。 因此输入:6 [1,2,3,3,2,1] 输出:2
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。