Java实现 LeetCode 554 砖墙(缝隙可以放在数组?)
2023-09-14 08:58:04 时间
554. 砖墙
你的面前有一堵方形的、由多行砖块组成的砖墙。 这些砖块高度相同但是宽度不同。你现在要画一条自顶向下的、穿过最少砖块的垂线。
砖墙由行的列表表示。 每一行都是一个代表从左至右每块砖的宽度的整数列表。
如果你画的线只是从砖块的边缘经过,就不算穿过这块砖。你需要找出怎样画才能使这条线穿过的砖块数量最少,并且返回穿过的砖块数量。
你不能沿着墙的两个垂直边缘之一画线,这样显然是没有穿过一块砖的。
示例:
输入: [[1,2,2,1],
[3,1,2],
[1,3,2],
[2,4],
[3,1,2],
[1,3,1,1]]
输出: 2
解释:
提示:
每一行砖块的宽度之和应该相等,并且不能超过 INT_MAX。
每一行砖块的数量在 [1,10,000] 范围内, 墙的高度在 [1,10,000] 范围内, 总的砖块数量不超过 20,000。
class Solution {
int[] arr = new int[65536];
public int leastBricks(List<List<Integer>> wall) {
for (List<Integer> item : wall) {
int count = 0;
for (int i = 0; i < item.size() - 1; i++) {
arr[count + item.get(i)]++;
count = count + item.get(i);
}
}
int max = 0;
for (int i = 0; i < arr.length; i++) {
if (arr[i] > max) {
max = arr[i];
}
}
return wall.size()-max;
}
}
相关文章
- java内存模型介绍[通俗易懂]
- java nio_(一) Java NIO 概述[通俗易懂]
- java 二维数组 arraycopy_Java对数组的复制[通俗易懂]
- java pfx 证书_Java将pfx证书转换为jks[通俗易懂]
- java开发常用四大框架_Java 后台开发框架[通俗易懂]
- c++和java哪个好学_c++语言和Java语言,初学者该如何选择?「建议收藏」
- java数组去重_JAVA数组去重常用方法
- 对java面向对象的三大特征的理解_Java面向对象的三大特征是什么?
- 详述Java中sort排序函数
- 数据库连接池怎么实现_java数据库连接池原理
- java 事务嵌套_Java事务以及嵌套事务[通俗易懂]
- Java中LockSupport.park/unpark源码分析
- Java学习笔记之九java二维数组及其多维数组的内存应用拓展延伸详解编程语言
- Java 与 Linux 的结合:开启新时代(java和linux)
- 时间设置Redis中Java对象的过期时间(redisjava过期)
- Linux环境中如何顺利执行Java程序?(linux下执行java)
- 如何在Linux系统下有效地启动Java程序,让你的代码在Linux中也能正常运行?(linux下启动java)
- Java实现Redis数据存储(java的redis)
- Java编程实现MySQL数据库连接(java连mysql数据库)
- 堆栈探索Java构建Oracle堆栈的可能性(java建oracle)
- Java如何帮助掌握Oracle(java了解oracle)
- java判断远程服务器上的文件是否存在的方法
- 基于java中stack与heap的区别,java中的垃圾回收机制的相关介绍