LeetCode 554 砖墙 题解

你的面前有一堵矩形的、由 n 行砖块组成的砖墙。这些砖块高度相同(也就是一个单位高)但是宽度不同。每一行砖块的宽度之和相等。
你现在要画一条 自顶向下 的、穿过 最少 砖块的垂线。如果你画的线只是从砖块的边缘经过,就不算穿过这块砖。你不能沿着墙的两个垂直边缘之一画线,这样显然是没有穿过一块砖的。
给你一个二维数组 wall ,该数组包含这堵墙的相关信息。其中,wall[i] 是一个代表从左至右每块砖的宽度的数组。你需要找出怎样画才能使这条线 穿过的砖块数量最少 ,并且返回 穿过的砖块数量 。
示例 1:输入:wall = [[1,2,2,1],[3,1,2],[1,3,2],[2,4],[3,1,2],[1,3,1,1]]
输出:2
示例 2:
输入:wall = [[1],[1],[1]]
输出:3
提示:
n == wall.length
1 <= n <= 104
1 <= wall[i].length <= 104
1 <= sum(wall[i].length) <= 2 * 104
对于每一行 i ,sum(wall[i]) 是相同的
1 <= wall[i][j] <= 231 - 1

参考题解

class Solution {public int leastBricks(List<List<Integer>> wall) {int n = wall.size();//行数Map<Integer, Integer> times = new HashMap<>();//间隙位置出现的次数,同一位置的间隙,每行只可能有一个for(int i = 0, sum = 0; i < n; i++){for(int num : wall.get(i)){sum += num;times.put(sum, times.getOrDefault(sum, 0) + 1);}times.remove(sum);//最后一个边缘不能算sum = 0;}int max = 0;for(int key : times.keySet()){max = Math.max(max, times.get(key));}return n - max;}
}

LeetCode 554 砖墙 题解相关推荐

  1. Leetcode 554. 砖墙 C++

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

  2. leetcode 554. 砖墙

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

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

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

  4. Leetcode 554.砖墙

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

  5. LeetCode.554 砖墙

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

  6. [leetcode] 554. 砖墙

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

  7. LeetCode:砖墙【554】

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

  8. LeetCode每日抑题 554. 砖墙

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

  9. LeetCode 0554. 砖墙

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

最新文章

  1. JavaScript的基本使用
  2. [知识图谱实战篇] 一.数据抓取之Python3抓取JSON格式的电影实体
  3. 根据对象的属性去重,获取新数组
  4. Detected cartesian product for LEFT OUTER join
  5. nrm : 无法加载文件 E:\node\node_global\nrm.ps1,因为在此系统上禁止运行脚本
  6. 2019/01/29-Linux目录
  7. 深度学习图像分类(一):LeNet
  8. 重置Winsock失败,在NSHHTTP.DLL中初始化函数InitHelperDll启动失败,错误代码为10107的解决方法
  9. KL距离(衡量两个概率分布的差异情况)
  10. STM32F103无源蜂鸣器驱动程序
  11. YALMIP工具箱之解决半定规划问题的SDPT3求解器安装
  12. 机载激光雷达原理与应用科普(六)
  13. 内存模型与C++ 内存序
  14. [从零开始学FPGA编程-3]:快速入门篇 - 操作步骤1 - 导体、半导体、晶体管、常见电子元器件、集成电路
  15. Illustrator插件开发-AI插件-aip格式-第一章 第三小节 Plugin类-StartupPlugin函数
  16. 服务器 备案 文档,备案需要备案服务器
  17. 【​观察】中国民生银行与华为组成新CP 共同释放金融科技创新红利
  18. BPM 是与非 -- 什么是BPM,如何辨别是否BPM产品,以及如何选择BPM产品
  19. 开发数据可视化,有哪些数据可视化表现形式?
  20. 数学小魔术 —— 猜数字(二)(我回来了)

热门文章

  1. 项目范围定义与创建工作结构分解
  2. 【论文速递】ACL 2021-CLEVE: 事件抽取的对比预训练
  3. 人体温度低于36度正常吗_大人的体温低于36度,正常吗?
  4. 帆软填报报表实现日期自动生成总结
  5. spss分析方法-中介效应(转载)
  6. Spring Boot“内存泄漏”?看看大牛是如何排查的
  7. 吴军三部曲见识(四) 大家智慧
  8. 最新版小程序砍价商城源码前后端
  9. Android音视频API(android.media.midi):概览
  10. 专职开发人员的“诅咒”