#184. 变成最大值
变成最大值
题目描述
给定一个包含 个正整数的序列 。你可以对该序列执行以下操作:
- 操作内容:
- 选择一个子数组 (满足 ),且该子数组中的元素并不全相同(即存在两个整数 使得 )。
- 将该子数组中的每个元素都更改为子数组中的最大值 。
目标: 确定可以执行的最大操作次数。
输入格式
- 每个测试用例包含多组数据。
- 第一行包含一个整数 ,表示测试用例的数量。()
- 接下来是 个测试用例的描述,每个测试例如下:
- 第一行包含一个整数 ,表示序列的长度。()
- 第二行包含 个整数 ,表示序列中的元素。()
注意: 所有测试用例中 的总和不超过 。
输出格式
- 对于每个测试用例,输出一个整数,表示可以执行的最大操作次数。
示例
4
2
1 2
2
2 2
7
1 1 1 2 2 2 2
3
1 2 3
1
0
3
3
说明
-
示例 1:
- 输入:
2 1 2
- 操作步骤:
- 选择子数组 ,执行操作后序列变为 。
- 输出:
1
- 输入:
-
示例 2:
- 输入:
2 2 2
- 说明: 所有元素相同,无法执行任何操作。
- 输出:
0
- 输入:
-
示例 4:
- 输入:
3 1 2 3
- 操作步骤:
- 选择子数组 ,执行操作后序列变为 。
- 选择子数组 ,执行操作后序列变为 。
- 选择子数组 ,执行操作后序列变为 。
- 输出:
3
- 输入: