你可以执行以下
2
种操作任意次:
减小 arr 中任意元素的值,使其变为一个更小的正整数
重新排列 arr 中的元素,你可以以任意顺序重新排列
请你返回执行以上操作后,在满足前文所述的条件下,arr...示例 1:
输入:arr = [2,2,1,2,1]
输出:2
解释:
我们可以重新排列 arr 得到 [1,2,2,2,1] ,该数组满足所有条件。
arr 中最大元素为 2 。...现在 arr = [1,2,3] ,满足所有条件。
arr 中最大元素为 3 。...都是利用 波峰右侧的点可以调整成波峰左侧的点,从而使分布变为(非严格)单调递增。
至此,我们证明了最优解对应的数组必然符合(非严格)单调递增。
这启发我们可以先对原数组排个序,在此基础上进行分析。...对原数组排序得到的有序数组,不一定是符合「相邻位差值绝对值不超过
1
」的,同时由于每个数值可以选择 「减小」 或 「不变」。