防御阵型
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
题目描述
在数据王国的边境线上,有一排由正整数构成的魔法城墙 nums。城墙的每个段落都拥有不同的魔法强度。王国的大法师需要统计所有满足特殊条件的防御子阵:
"只有当子阵的首尾两端同时是整个子阵中的最强魔法节点时,这个防御阵型才能生效!"
现在,作为王国的首席算法工程师,你需要编写一个高效的程序,计算出所有符合条件的魔法子阵数量,帮助王国加强边境防御。
给定一个正整数数组 nums ,统计满足以下条件的子数组的个数:
- 子数组的第一个元素是该子数组中的最大值;
- 子数组的最后一个元素也是该子数组中的最大值;
- 子数组至少包含一个元素。
注:子数组是数组中一个连续的元素序列。
输入格式
- 第一行包含整数 ,表示测试用例数量。
- 每个测试用例包含两行:
- 第一行:整数 ,表示数组 的长度。
- 第二行: 个正整数,表示数组元素,数字间用空格分隔。
输出格式
- 对于每个测试用例,输出一个整数表示符合条件的子数组数量。
样例输入
3
5
1 4 3 3 2
3
3 3 3
1
1
样例输出
6
6
1
说明
样例 解释
nums = [1,4,3,3,2]
共有 个子数组满足条件:
[1]- 最大元素为 ,首尾都是[4]- 最大元素为 ,首尾都是[3]- 最大元素为 ,首尾都是[3]- 另一个位置的[2]- 最大元素为 ,首尾都是[3,3]- 最大元素为 ,首尾都是
数据范围