maximum-building-height

maximum-building-height


在一座城市里,你需要建 n 栋新的建筑。这些新的建筑会从 1 到 n 编号排成一列。



这座城市对这些新建筑有一些规定:




  • 每栋建筑的高度必须是一个非负整数。

  • 第一栋建筑的高度 必须 是 0 。

  • 任意两栋相邻建筑的高度差 不能超过  1 。



除此以外,某些建筑还有额外的最高高度限制。这些限制会以二维整数数组 restrictions 的形式给出,其中 restrictions[i] = [idi, maxHeighti] ,表示建筑 idi 的高度 不能超过 maxHeighti 。



题目保证每栋建筑在 restrictions 中 至多出现一次 ,同时建筑 1 不会 出现在 restrictions 中。



请你返回 最高 建筑能达到的 最高高度 。



 



示例 1:



输入:n = 5, restrictions = [[2,1],[4,1]]
输出:2
解释:上图中的绿色区域为每栋建筑被允许的最高高度。
我们可以使建筑高度分别为 [0,1,2,1,2] ,最高建筑的高度为 2 。


示例 2:



输入:n = 6, restrictions = []
输出:5
解释:上图中的绿色区域为每栋建筑被允许的最高高度。
我们可以使建筑高度分别为 [0,1,2,3,4,5] ,最高建筑的高度为 5 。


示例 3:



输入:n = 10, restrictions = [[5,3],[2,5],[7,4],[10,3]]
输出:5
解释:上图中的绿色区域为每栋建筑被允许的最高高度。
我们可以使建筑高度分别为 [0,1,2,3,3,4,4,5,4,3] ,最高建筑的高度为 5 。


 



提示:




  • 2 <= n <= 109

  • 0 <= restrictions.length <= min(n - 1, 105)

  • 2 <= idi <= n

  • idi 是 唯一的 。

  • 0 <= maxHeighti <= 109


Report Page