在二维数组grid中,grid[i][j]代表位于某处的建筑物的高度。 我们被允许增加任何数量(不同建筑物的数量可能不同)的建筑物的高度。 高度 0 也被认为是建筑物。

最后,从新数组的所有四个方向(即顶部,底部,左侧和右侧)观看的“天际线”必须与原始数组的天际线相同。 城市的天际线是从远处观看时,由所有建筑物形成的矩形的外部轮廓。 请看下面的例子。

建筑物高度可以增加的最大总和是多少?

例子:
输入: grid = [[3,0,8,4],[2,4,5,7],[9,2,6,3],[0,3,1,0]]
输出: 35
解释:
The grid is:
[ [3, 0, 8, 4], [2, 4, 5, 7],[9, 2, 6, 3],[0, 3, 1, 0] ]从数组竖直方向(即顶部,底部)看“天际线”是:[9, 4, 8, 7]
从水平水平方向(即左侧,右侧)看“天际线”是:[8, 7, 9, 3]在不影响天际线的情况下对建筑物进行增高后,新数组如下:gridNew = [ [8, 4, 8, 7],[7, 4, 7, 7],[9, 4, 8, 7],[3, 3, 3, 3] ]
class Solution {public int maxIncreaseKeepingSkyline(int[][] grid) {int m = grid.length;if(m == 0)return 0;int n = grid[0].length;int[] rows = new int[m], cols = new int[n];for(int i = 0; i < m; i++){for(int j = 0; j < n; j++){rows[i] = Math.max(rows[i], grid[i][j]);}}for(int i = 0; i < n; i++){for(int j = 0; j < m; j++){cols[i] = Math.max(cols[i], grid[j][i]);}}int res = 0;for(int i = 0; i < m; i++){for(int j = 0; j < n; j++){res += Math.min(rows[i],cols[j]) - grid[i][j];}}return res;}
}

转载于:https://www.cnblogs.com/JAYPARK/p/10357770.html

力扣——保持城市天际线相关推荐

  1. 【力扣时间】【807】【中等】保持城市天际线

    保持城市天际线 1.先看题 2.审题 3.思路 4.开工! 5.解读 6.提交 7.咀嚼 8.他人的智慧 9.总结 城市天际线? 1.先看题 点我看题 题目的表述并不清楚,而且已经开始铺陷阱了.所要求 ...

  2. LeetCode 807. 保持城市天际线

    文章目录 1. 题目 2. 解题 1. 题目 在二维数组grid中,grid[i][j]代表位于某处的建筑物的高度. 我们被允许增加任何数量(不同建筑物的数量可能不同)的建筑物的高度. 高度 0 也被 ...

  3. 【LeetCode】每日一题——保持城市天际线

    目录 题目 一起来读题目 主要思路: 代码实现 写法一: 代码解读 结果: 写法二:列表推导式写法 参考文章: 题目 哈哈是不是看懵了啊,俗话说的好:不会写的题目,好好读多几次题目 读不懂,没关系,我 ...

  4. 力扣编程题-解法汇总

    一.力扣链接: 题库 - 力扣 (LeetCode) 全球极客挚爱的技术成长平台 备注:以后每个工作日从前往后刷一道题,然后再加一道每日新题.每天两道题. 二.模版: 标题: 力扣解法汇总5-正则表达 ...

  5. C++ : 力扣_Top(218-289)

    C++ : 力扣_Top(218-289) 文章目录 C++ : 力扣_Top(218-289) 218.天际线问题(困难) 227.基本计算器II(中等) 230.二叉搜索树中第K小的元素(中等) ...

  6. 力扣高频|算法面试题汇总(七):树

    力扣高频|算法面试题汇总(一):开始之前 力扣高频|算法面试题汇总(二):字符串 力扣高频|算法面试题汇总(三):数组 力扣高频|算法面试题汇总(四):堆.栈与队列 力扣高频|算法面试题汇总(五):链 ...

  7. 807.保持城市天际线

    题目描述 给你一座由 n x n 个街区组成的城市,每个街区都包含一座立方体建筑.给你一个下标从 0 开始的 n x n 整数矩阵 grid ,其中 grid[r][c] 表示坐落于 r 行 c 列的 ...

  8. LeetCode 807. 保持城市天际线 / 630. 课程表 III(贪心+优先队列)/ 851. 喧闹和富有(拓扑排序)

    807. 保持城市天际线 2021.12.13 每日一题 题目描述 给你一座由 n x n 个街区组成的城市,每个街区都包含一座立方体建筑.给你一个下标从 0 开始的 n x n 整数矩阵 grid ...

  9. 20201016:力扣第210周周赛题解(下)

    力扣第210周周赛题解(下) 题目 思路与算法 代码实现 写在最后 题目 分割两个字符串得到回文串 统计子树中城市之间最大距离 思路与算法 第三题主要逻辑通顺就行,注意分割的索引是一样的,那么判断回文 ...

  10. 20200503:力扣187周周赛上

    力扣187周周赛上 题目 思路与算法 代码实现 复杂度分析 题目 旅行终点站 是否所有 1 都至少相隔 k 个元素 思路与算法 第一题我没做出来,说来惭愧,菜的离谱.看大神的题解豁然开朗,这题类似之前 ...

最新文章

  1. html表格显示选择的颜色,jquery实现效果比较好的table选中行颜色
  2. supervisord+supervisorclusterctl+supervisord-monit
  3. 【NOIP2015模拟10.22】最小代价
  4. u盘 linux centos 5.3,鸟哥linux私房菜学习笔记,U盘安装centos5.3不能正常进入图形界面的问题...
  5. spring jmx_JMX和Spring –第1部分
  6. 函数的练习1——python编程从入门到实践
  7. 基类和派生类的构造函数,隐式调用与显式调用
  8. 【解决问题】centOS 7 设置固定IP,无法上外网
  9. 2019中国软件业务收入前百家企业名单公布
  10. spring 中事物的说明
  11. 实验1 小信号调谐放大器(单调谐与双调谐放大器)
  12. Week 5 Linux 目录与文件
  13. bzoj2555 SubString (SAM+LCT维护子树大小/ETT)
  14. 随便学学Python-day7-字典和集合
  15. MySQL 系统表空间ibdata:我也不想当一个死肥宅
  16. JS 判断一个字符串是否为日期格式(兼容IOS)
  17. 2094 找出 3 位偶数
  18. ApacheCN 翻译活动进度公告 2019.4.7
  19. AJAX框架眼镜穿搭夏天,20套夏天穿搭!我帮你整理出来了
  20. 网上蛋糕商城JSP页面

热门文章

  1. 一点SICP(Structure and Interpretation of Computer Programs) 资料 (转载加整理)
  2. 二叉树:前中后序迭代方式统一写法
  3. Mac如何为应用单独设置语言?
  4. Mac电脑很早以前就删除的信息,现在想要恢复该怎么做?
  5. Idea 中的快捷键(mac)
  6. 你真的会用ABAP, Java和JavaScript里的constructor么? 1
  7. JAVAWeb开发之Servlet-18.Servlet共享变量与变量的作用域
  8. test luasql's postgresql driver performance (not better than pgbench)
  9. Java多线程看着一篇足够了!
  10. Neo4j介绍与使用