#6608. B. Right Maximum(右侧最大值)
B. Right Maximum(右侧最大值)
B. Right Maximum(右侧最大值)
题目描述
给定一个长度为 ( n ) 的整数数组 ( a )。
当数组不为空时,重复执行如下操作:
- 在当前数组中选择一个最大值元素;
- 如果最大值有多个,选择最靠右的那个;
- 删除该元素以及它右边的所有元素(包括它本身)。
任务
求:在数组变为空之前,一共会执行多少次操作。
输入格式
- 第一行一个整数 ( t ),表示测试用例数量。
- 每个测试用例:
- 第一行一个整数 ( n );
- 第二行 ( n ) 个整数。
额外保证: 所有测试用例中 ( n ) 的总和不超过 。
输出格式
对于每个测试用例,输出一个整数:操作次数。
样例
输入
4
5
2 1 2 3 1
6
1 2 3 4 5 6
3
3 2 1
4
1 3 3 1
输出
3
6
1
3
样例解释
样例 1:
初始数组:
[2, 1, 2, 3, 1]
-
第1次:最大值是 3(位置4) 删除后变为:
[2, 1, 2] -
第2次:最大值是 2(位置3,取最右) 删除后变为:
[2, 1] -
第3次:最大值是 2(位置1) 删除后数组为空
👉 共 3 次操作