📅  最后修改于: 2023-12-03 14:50:47.188000             🧑  作者: Mango
该问题是ISRO CS 2015考试的一道题目。
给定一个包含 N 个非负整数的数组 arr
,数组中的每个数代表地面上某一点的高度。数组中的任意两个相邻的数之间的距离都是 1。将数组 arr
看作是一个架设在 X 轴上的立方体。
我们决定通过在柱子上放置一个长方体块来填平数组 arr
,使得当前柱子高度大于或等于其左右两边的柱子高度。
请计算最小的块数,使得填平后的数组 arr
变为一个全平坦平面。
输入文件的第一行包含一个整数 T,表示测试用例的数量。
每个测试用例包含两行:
arr
。对于每个测试用例,打印最小的块数,以新行分隔。
输入
2
7
1 5 2 3 1 7 2
10
5 6 8 2 4 3 1 7 6 5
输出
3
11
对于测试用例 1,通过在 arr[2]
、arr[3]
和 arr[4]
上放置块,我们可以构建一个全平坦平面。所以答案是 3。
对于测试用例 2,所有的柱子都需要被填平,所以答案是 11。