题目:

用一个二维数组,grid来表示城市天际线,二维数组中的每个数代表相应位置上建筑的高度,从横向和纵向观察到最高点,构成城市天际线,集城市天际线有每一列的最大值两个 一维数组构成,问:
在保持城市天际线不变的情况下,所有建筑加起来的总高度最多还能增加多少,每个建筑增加的高度可以不一样,建筑的高度也可以时0

示例 1:

例子:
输入: grid = [[3,0,8,4],[2,4,5,7],[9,2,6,3],[0,3,1,0]]
输出: 35
解释: The grid =[ [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] ]

提示:

1 < grid.length = grid[0].length <= 50。
grid[i][j] 的高度范围是: [0, 100]。
一座建筑物占据一个grid[i][j]:换言之,它们是 1 x 1 x grid[i][j] 的长方体。

解析:

1、首先第一个循环获取每行每列的最大值
2、第二个循环获取每个数在满足条件下的最大值,然后相减获取增加的值

public static int solution(int[][] arr){int[] lineMax = new int[arr.length];int[] columnMax = new int[arr[0].length];int result = 0;for (int i = 0; i < arr.length; i++) {for (int j = 0; j < arr[i].length; j++) {if (arr[i][j] > lineMax[i]){lineMax[i] = arr[i][j];}if (arr[i][j] > columnMax[j]){columnMax[j] = arr[i][j];}}}for (int i = 0; i < arr.length; i++) {for (int j = 0; j < arr.length; j++) {result += (columnMax[j] < lineMax[i] ? columnMax[j] : lineMax[i]) - arr[i][j];}}System.out.println(result);return result;}

算法(笔试题) : 城市天际线相关推荐

  1. 2014微软秋季校招算法笔试题

    这道题是来自2014微软秋季校招笔试题的最后一道算法笔试题,本博客提供代码解析及代码实现!!! 第二部分测试时间为60分钟,满分50分.请务必在回答问题前仔细阅读变成题目.您可以选用C.C++.C#或 ...

  2. 小红书2020校招算法笔试题卷一

    小红书2020校招算法笔试题卷一 字符串倒序 薯队长带着小红薯参加密室逃脱团建游戏,首先遇到了反转游戏,小红薯们根据游戏提示收集了多个单词线索,并将单词按要求加一个空格组 成了句子,最终要求把句子按单 ...

  3. 乐视笔试算法题美团算法笔试题

    今天参加了乐视的校招笔试题有一道以前很熟悉的一道题记录一下 备注:今天乐视笔试好多图的选择题和线程间同步的方式一道选择题(上次总结过) 给定一个无序的整数数组,怎么找到第一个大于0,并且不在此数组的整 ...

  4. 算法笔试题:1元,5元,10元,20元,50元、100元面值人民币组合给定x元的问题

    最近有一道笔试题引起了小伙伴们的激烈讨论. 参考博客 作为算法菜鸟非常感谢大神的分析和举例.博客地址 问题描述 目前市面上的纸币主要有1元,5元,10元,20元,50元.100元六种,如果要买一件商品 ...

  5. 数据结构与算法笔试题吐血整理

    数据结构试题及答案 一.单项选择题 (1)          一个算法应该是(B   ). A) 程序                                                  ...

  6. java 算法笔试题_【干货】经典算法面试题代码实现-Java版

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 面试题3:二维数组中的查找 题目描述:一个二维数组,每一行从左到右递增,每一列从上到下递增.输入一个二维数组和一个整数,判断数组中是否含有整数. publ ...

  7. 海致星图2022校招算法笔试题

    1.有1,2,3,-无穷个格子,你从1号格子出发,每次1/2概率向前跳一格,1/2概率向前跳两格,走到格子编号为4的倍数时结束,结束时期望走的步数为____. 答案:3.6 解析: 跳一格跳两格都算一 ...

  8. python人工智能面试题爱奇艺面试题_经典算法题:爱奇艺研发工程师算法笔试题...

    A. 7 B. 6 C. 4 D. 5 4.对关键码序列28,16,32,12,60,2,5,72快速排序,从小到大一次划分结果为 A. (5,16,2,12)28(60,32,72) B. (2,5 ...

  9. 创林科技算法笔试题其二

    课堂交流加密解密问题 这个问题有点意思, 难度适中, 是类似加密与解密的算法. 题目 李雷和韩梅梅坐前后排,上课想说话怕被老师发现,所以改为传小纸条.为了不被老师发现他们纸条上说的是啥,他们约定了如下 ...

最新文章

  1. mxGraph改变图形大小重置overlay位置
  2. u8 附件上传后存放路径_织梦DedeCms附件按月份保存的修改方法
  3. mysql的事务语句_MySQL提供的事务控制语句
  4. LNK2019无法解析的外部符号 public: static struct cv::Ptr class cv::xfeatures2d::SURF问题解决
  5. 可输入可下拉的输入选择框
  6. ubuntu16.04安装搜狗拼音2.0.0.0072
  7. BZOJ3244 [Noi2013]树的计数 【数学期望 + 树遍历】
  8. Jqurey 得到url参数 getUrlParam
  9. 华为手机Android studio 配置ADB wifi 调试
  10. 探索:爬取双色球开奖历史数据,高准确度预测下一期开奖号码。
  11. gephi mysql_用爬虫和 Gephi 研究微博好友二度人脉分析|Mo’s blog
  12. sql语句date函数
  13. vue的:href和href
  14. 农妇守护瘫痪丈夫27年 单独抚育女儿撑起家庭
  15. tf.nn.xw_plus_b()
  16. Python_FontTools使用
  17. 大商创 pc网页跳转对应移动端网页
  18. 亚信安全为80%入围中国银行提供安全防护
  19. element-ui的el-table表格中给暂无数据加背景图
  20. 欧拉角表示旋转会出现的问题——万向锁(Gimbal Lock)

热门文章

  1. 【论文笔记之 SN-Net】Interactive Speech and Noise Modeling for Speech Enhancement
  2. Arduino开发实践蜂鸣器(附源码+效果图)
  3. Python-itchat之微信好友大曝光
  4. SFML 和 Visual Studio
  5. 高并发技巧-redis和本地缓存使用技巧
  6. 阿里开源抓包神器LightProxy 和 其他代理 工具一起使用
  7. 网络OSI七层模型及各层作用
  8. HTML5七夕情人节表白网页制作【HTML5庆祝生日蛋糕烟花特效】HTML+CSS+JavaScript
  9. php 输出数组内容_关于打印数组的10种方法详解
  10. 三菱fx2n做从站的modbus通讯_三菱PLC控制如何变频器?正解多种方法