554. 砖墙

难度:中等
语言:java

题目内容

你的面前有一堵矩形的、由 n 行砖块组成的砖墙。这些砖块高度相同(也就是一个单位高)但是宽度不同。每一行砖块的宽度之和应该相等。

你现在要画一条 自顶向下 的、穿过 最少 砖块的垂线。如果你画的线只是从砖块的边缘经过,就不算穿过这块砖。你不能沿着墙的两个垂直边缘之一画线,这样显然是没有穿过一块砖的。

给你一个二维数组 wall ,该数组包含这堵墙的相关信息。其中,wall[i] 是一个代表从左至右每块砖的宽度的数组。你需要找出怎样画才能使这条线 穿过的砖块数量最少 ,并且返回 穿过的砖块数量 。

解题思路

唉,有点受伤,这题没做出来,看了答案感觉太简单了,不应该做不出的
我没有想到使用hashmap来解决这道题目
很容易想到,缝隙是由前面的数的和决定的,和相同则是空出来的,我想的是构造一个一维前缀和的数组,再遍历长度去比较,这样写非常麻烦,首先构建数组空间占用就需要O(n),再进行遍历,至少是O(n^2)的时间。
但是用hashmap就很简单,只要求到相同长度的key,对应的value再加一。
但是要记得是,需要remove最长长度的key所对应的值,不然最大的永远是边界。

class Solution {public int leastBricks(List<List<Integer>> wall) {int n = wall.size();Map<Integer,Integer> map = new HashMap<>();for (int i = 0; i<n ; i++){int tmp = 0;for (int j :wall.get(i)){tmp += j;map.put(tmp,map.getOrDefault(tmp,0)+1);}map.remove(tmp);}int ans = n;for (int j : map.keySet()){int value =map.get(j);ans = Math.min(ans,n-value);}return ans;}
}

不知道为啥审核一直不过,我加一句话试试。。。

LeetCode每日抑题 554. 砖墙相关推荐

  1. [20210502]LeetCode每日一题 - 554. 砖墙

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

  2. leetcode每日刷题计划-简单篇day8

    leetcode每日刷题计划-简单篇day8 今天是纠结要不要新买手机的一天QAQ想了想还是算了吧,等自己赚钱买,加油 Num 70 爬楼梯 Climbing Stairs class Solutio ...

  3. Leetcode每日一题:171.excel-sheet-column-number(Excel表列序号)

    思路:就是168题的反命题,进制的方式完美解决: Leetcode每日一题:168.excel-sheet-column-title(Excel表名称) class Solution {public: ...

  4. 【LeetCode每日一题】1723. 完成所有工作的最短时间

    [LeetCode每日一题]1723. 完成所有工作的最短时间 [1] 1723. 完成所有工作的最短时间 [2] 473. 火柴拼正方形 [1] 1723. 完成所有工作的最短时间 题目: 给你一个 ...

  5. leetcode每日一题--雀巢原理;抽屉算法;Quorum机制;分布式应用

    leetcode每日一题 539. 最小时间差 示例 1: 输入:timePoints = ["23:59","00:00"] 输出:1 示例 2: 输入:ti ...

  6. LeetCode每日一题——1812. 判断国际象棋棋盘中一个格子的颜色

    LeetCode每日一题系列 题目:1812. 判断国际象棋棋盘中一个格子的颜色 难度:简单 文章目录 LeetCode每日一题系列 题目 示例 思路 题解 题目 给你一个坐标 coordinates ...

  7. 【LeetCode每日一题】——109.有序链表转换二叉搜索树

    文章目录 一[题目类别] 二[题目难度] 三[题目编号] 四[题目描述] 五[题目示例] 六[题目提示] 七[解题思路] 八[时间频度] 九[代码实现] 十[提交结果] 一[题目类别] 二叉树 二[题 ...

  8. leetcode每日一题·救生艇问题(Python)

    leetcode每日一题·救生艇问题(Python) 问题描述 题目入口 题目思路 首先分析问题,一个船最多坐两人,因此我们可以把这个问题看作两两组合的问题,并且如果最重的那个人和最轻的人加起来大于l ...

  9. LeetCode每日一题——904. 水果成篮

    LeetCode每日一题系列 题目:904. 水果成篮 难度:普通 文章目录 LeetCode每日一题系列 题目 示例 思路 题解 题目 你正在探访一家农场,农场从左到右种植了一排果树.这些树用一个整 ...

最新文章

  1. [翻译]使用HtmlAgilityPack更好的HTML分析和验证
  2. 「小程序JAVA实战」小程序头像图片上传(下)(45)
  3. 计算机网络基础 — 网络设备 — 路由器(Router)
  4. Python之web开发(一):python常用搭建网站的框架简介
  5. latex设置一级标题样式不居中_Markdown不快速入门
  6. 【并查集】【最小生成树】【贪心】给水(jzoj 2015)
  7. 前端学习(2641):懂代码之header表头页之控制全屏显示
  8. 算法竞赛入门经典 第七章 总结
  9. 渗透测试入门18之信息收集
  10. 【华为云技术分享】Entity Framework Core 捕获数据库变动
  11. as 从java_从Java调用AS400 RPG
  12. 高性能工业级16位高精度UART转PWM接口SOC芯片
  13. android第十二步Pull解析器解析和生成XML内容
  14. Google 为造芯再掀“抢人大战”,英特尔 17 年老将加入
  15. 2066服务器芯片组,华硕发布三款LGA2066对应工作站主机板
  16. CSS3 vertical-align属性解决图片留白问题
  17. 国内外知名源码商城系统盘点
  18. 如何估算普通LED灯珠的额定电压和功率
  19. Hystrix(1)--->hystrix的基本使用
  20. html连接sql基本语句,PostgreSQL 常用SQL语句

热门文章

  1. win10一个或多个音频服务未运行
  2. VMware安装macOS方法
  3. sqlserver 通过触发器 自动生成报表 数据表 每小时自动生成报表
  4. 使用PowerDesigner对数据库建模
  5. 蜂糖李为何如蜂蜜般香甜?它承载着镇宁人民的希望呀
  6. 关于16进制的字符串转为整数的问题
  7. 第五天系统变量没有path变量如何添加
  8. 【C语言】字符串加密解密,字符串左旋,杨氏矩阵,删除字符串中出现次数最少的字符
  9. 切入AIGC新赛道,「炎黄盈动」发布国内首个AI低代码平台
  10. 不可忽视的浪潮云平台,正蓄势待发