思路:1:找出每一行的最大值maxRow.
2.找出每一列的最大值maxCom.
3.计算出每个位置的对应的那一行最大值maxRow和那一列maxCom之间的最小值:min(maxCom,maxRow).
![](https://img.haomeiwen.com/i10072447/cf9d360375c58135.png)
比如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.所有位置处的累加和就是最后的最大高和.
网友评论