本文主要是介绍Leetcode 807. Max Increase to Keep City Skyline [Python],希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
没一个元素如果要改变都不可以超过他所在的列的最大值和行的最大值当中的较小值才能不破坏skyline。首先找出每列最大的,随后遍历每个元素,找出改元素所在行最大数,比较得出较小的值,-去当前元素值,就是增加值。加到res中。
class Solution:def maxIncreaseKeepingSkyline(self, grid: List[List[int]]) -> int:maxvalineachcol = [max([grid[i][j] for i in range(len(grid[0]))]) for j in range(len(grid))]res = 0for i in range(len(grid)):maxinthisrow = max(grid[i])for j in range(len(grid[0])):maxvalinthiscol = maxvalineachcol[j]increase = min(maxinthisrow, maxvalinthiscol)res += increase - grid[i][j]return res
这篇关于Leetcode 807. Max Increase to Keep City Skyline [Python]的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!