Leetcode 554. 砖墙

题目

你的面前有一堵矩形的、由多行砖块组成的砖墙。 这些砖块高度相同但是宽度不同。你现在要画一条自顶向下的、穿过最少砖块的垂线。

砖墙由行的列表表示。 每一行都是一个代表从左至右每块砖的宽度的整数列表。

如果你画的线只是从砖块的边缘经过,就不算穿过这块砖。你需要找出怎样画才能使这条线穿过的砖块数量最少,并且返回穿过的砖块数量。

你不能沿着墙的两个垂直边缘之一画线,这样显然是没有穿过一块砖的。

示例:

输入: [[1,2,2,1],[3,1,2],[1,3,2],[2,4],[3,1,2],[1,3,1,1]]输出: 2解释:

提示:

  1. 每一行砖块的宽度之和应该相等,并且不能超过 INT_MAX。
  2. 每一行砖块的数量在 [1,10,000] 范围内, 墙的高度在[1,10,000] 范围内, 总的砖块数量不超过 20,000。

题解

由题意可知,我们确定的切割平面应该是尽可能多的为砖块的边界。我们用哈希表记录每个边界其为砖块边界数。最终的用行-这个砖块边界数就是我们的答案
详细过程见代码

代码

 int leastBricks(vector<vector<int>>& wall) {int row = wall.size(),lenth;unordered_map<int,int> num;for(int i=0; i<row; i++){lenth = 0;for(int j=0; j<wall[i].size()-1; j++){lenth += wall[i][j];      //当前行的砖块边界的坐标num[lenth]++;}}unordered_map<int,int>::iterator iter = num.begin();int ans=0;while(iter != num.end()){ans = max(ans,(*iter).second);       //尽可能多的为砖块边界iter++;}return row-ans;}

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/brick-wall
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

Leetcode 554. 砖墙 C++相关推荐

  1. LeetCode 554 砖墙 题解

    LeetCode 554 砖墙 题解 你的面前有一堵矩形的.由 n 行砖块组成的砖墙.这些砖块高度相同(也就是一个单位高)但是宽度不同.每一行砖块的宽度之和相等. 你现在要画一条 自顶向下 的.穿过 ...

  2. leetcode 554. 砖墙

    你的面前有一堵矩形的.由 n 行砖块组成的砖墙.这些砖块高度相同(也就是一个单位高)但是宽度不同.每一行砖块的宽度之和应该相等. 你现在要画一条 自顶向下 的.穿过 最少 砖块的垂线.如果你画的线只是 ...

  3. LeetCode 554. 砖墙(map计数)

    1. 题目 你的面前有一堵方形的.由多行砖块组成的砖墙. 这些砖块高度相同但是宽度不同.你现在要画一条自顶向下的.穿过最少砖块的垂线. 砖墙由行的列表表示. 每一行都是一个代表从左至右每块砖的宽度的整 ...

  4. Leetcode 554.砖墙

    砖墙 你的面前有一堵方形的.由多行砖块组成的砖墙. 这些砖块高度相同但是宽度不同.你现在要画一条自顶向下的.穿过最少砖块的垂线. 砖墙由行的列表表示. 每一行都是一个代表从左至右每块砖的宽度的整数列表 ...

  5. [leetcode] 554. 砖墙

    class Solution {public:int leastBricks(vector<vector<int>>& wall) {unordered_map< ...

  6. LeetCode.554 砖墙

    原题 https://leetcode-cn.com/problems/brick-wall/ 思路 哈希 题解 package cn.codemao.botmao.admin;import java ...

  7. LeetCode:砖墙【554】

    LeetCode:砖墙[554] 题目描述 你的面前有一堵方形的.由多行砖块组成的砖墙. 这些砖块高度相同但是宽度不同.你现在要画一条自顶向下的.穿过最少砖块的垂线. 砖墙由行的列表表示. 每一行都是 ...

  8. LeetCode每日抑题 554. 砖墙

    554. 砖墙 难度:中等 语言:java 题目内容 你的面前有一堵矩形的.由 n 行砖块组成的砖墙.这些砖块高度相同(也就是一个单位高)但是宽度不同.每一行砖块的宽度之和应该相等. 你现在要画一条 ...

  9. LeetCode 0554. 砖墙

    [LetMeFly]554.砖墙 力扣题目链接:https://leetcode.cn/problems/brick-wall/ 你的面前有一堵矩形的.由 n 行砖块组成的砖墙.这些砖块高度相同(也就 ...

最新文章

  1. Java笔试面试题007
  2. python常见错误-Python 常见报错类型
  3. 数字图像处理:第十七章 纹理分析
  4. DLL入门浅析(3)——从DLL中导出变量
  5. 测量怎么显示坐标_全站仪坐标放样究竟如何操作?
  6. axure侧弹层遮罩_Axure教程 带遮罩层的弹出框(9)
  7. 实验代做 行人识别_《行人跨模态重识别 | 双向限制的排序损失》
  8. percona-toolkit 之 【pt-deadlock-logger】说明
  9. python网络通信中cs架构_python3基于TCP实现CS架构文件传输
  10. the 1st one
  11. c语言 屏幕亮度调节_4096级屏幕亮度调节:改善安卓机自动亮度调节顽疾
  12. 基于RV1126平台imx291分析 --- open及media graph分析
  13. wps qt linux,小试牛刀 WPS for Linux beta1文字试用
  14. 服装尺寸 html,超完整的各种服装尺寸对照表,总有你需要的
  15. 灵魂碎片的收集(构造)
  16. uni-app 手机端定位问题
  17. 正向代理与反向代理通俗版解释
  18. uni-app嵌入其他页面(阿里邮箱为例)
  19. 用 VR 玩《魔兽世界》是一种怎样的体验?
  20. matlab计算特征多项式

热门文章

  1. Ubuntu安装docker时无法访问docker官网
  2. Android Retrofit2 动态(静态)添加请求头Header
  3. bitcoin区块链源码分析(一)网络发现
  4. HP惠普打印机P2055d的打印缺墨问题
  5. 展会APP开发的优势前景
  6. Java实现第九届蓝桥杯耐摔指数
  7. 将微信语音消息转换为 mp3
  8. 机器视觉系统在汽车发动机装配线上的应用
  9. 华为Mux VLAN 二层流量隔离
  10. stm32F103重映射