保持城市天际线

2019-06-26  本文已影响0人  p712long

思路:1:找出每一行的最大值maxRow.

           2.找出每一列的最大值maxCom.

          3.计算出每个位置的对应的那一行最大值maxRow和那一列maxCom之间的最小值:min(maxCom,maxRow).

比如3所在位置对应行是3,0,8,4,最大值是8,对应列是3,2,9,0,最大值是9,所以取2个值中的最小值作为当前位置值min(8,9)=8      

依此进行转换,最后就变成了gridNew

然后将  [gridNew]-[grid]=[gridAdd]

gridAdd = [

5  4  0  3

5  0  2  0

0  2  2  4

3  0  2  3

] =35

最后将gridAdd各个值累加,就是增加的最大总和

4.每一个位置处的元素与min的差就是该处所对应的增加的最大高度abs(value-min(maxCom,maxRow)).

          5.所有位置处的累加和就是最后的最大高和.

上一篇 下一篇

猜你喜欢

热点阅读