leetcode 85. 最大矩形 golang实现

2026华为OD机考新系统真题 + 双机位C卷 + 往年真题 - 题库目录分值说明 + 考点说明+在线OJ 2026年4月1日起,华为OD机试正式切换至新系统模式!采用力扣模式,无需自己写输入! 难度大幅度降低。正在备考华为OD机试的同学,优先刷新系统机试真题,可大幅提升通过率。 新系统考题考点与旧版一致,无需重新适应。本专栏所有算法题均配有详细思路解析,并提供C语言、JS、C++、Python、Go、Java多语言源码实现。订阅后私信即可开通专属OJ刷题权限,高效备考一次上岸! 阅读详情
描述
给定一个仅包含 0 和 1 的二维二进制矩阵,找出只包含 1 的最大矩形,并返回其面积。

示例:

输入:
[
  ["1","0","1","0","0"],
  ["1","0","1","1","1"],
  ["1","1","1","1","1"],
  ["1","0","0","1","0"]
]
输出: 6
思路

84题链接地址

利用84题, 求最大矩形的思想 对每一行求出柱形图的高度
实现
// 85 最大矩形
func maximalRectangle(matrix [][]byte) int {
	var max int
	rows := len(matrix)
	if rows == 0{
		return max
	}

	cols := len(matrix[0])
	nums := make([]int, cols)


	for row := 0; row < rows; row++{
		for col := 0; col < cols; col++{
			if matrix[row][col] != '0'{
				nums[col] = nums[col] + 1
			}else{
				nums[col] = 0
			}
		}

		maxArea := largestRectangleArea(nums)
		max = Max(max, maxArea)
	}

	return max
}

// 84 柱状图中最大的矩形
func largestRectangleArea(heights []int) int {
	var max int
	var stack = make([]int, 0)
	var nums = make([]int, 0)

	nums = append(nums, []int{0}...)
	nums = append(nums, heights...)
	nums = append(nums, []int{0}...)

	for i := 0; i < len(nums); i++{
		for len(stack) > 0 && nums[stack[len(stack)-1]] > nums[i]{
			tmp := stack[len(stack)-1]
			stack = stack[0: len(stack)-1]

			max = Max(max, nums[tmp]*(i-stack[len(stack)-1]-1))
		}

		stack = append(stack, i)
	}

	return max
}

func Max(a, b int) int {
	if a >= b {
		return a
	} else {
		return b
	}
}

2026华为OD机试(JAVA&Go)真题【E卷+A卷+B卷+C卷+D卷】目录+在线OJ 华为OD机试真题题库【E卷+A卷+B卷+C卷+D卷】目录,Java实现。 阅读详情

相关推荐

2026华为OD机试(C语言)真题【E卷+A卷+B卷+C卷+D卷】目录+在线OJ

华为OD机试真题题库【E卷+A卷+B卷+C卷+D卷】目录,C语言实现。

MISAYAONE的博客 11万+

leetcode 84. 柱状图中最大的矩形 golang实现

描述 给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。 求在该柱状图中,能够勾勒出来的矩形的最大面积。 示例: 输入: [2,1,5,6,2,3] 输出: 10 思路 实现 func largestRectangleArea(heights []int) int { var max int var stack = make([]int, 0...

tzh_linux的专栏 350

高通camera open代码流程(hal到kernel)

内容:简单介绍Camera open代码调用流程,从HAl到kernel。(api1+hal1) 前言 Android camera api和hal对应关系。安卓在版本更新过程中,camera相关代码也经历了几个版本的更新,表现为camera HAL版本更新(HAL1->HAL2->HAL3),camera API版本更新(camera API1->camera API2),接下...

oxoo123的专栏 4276

《leetcode-go》直方图中的最大矩形

给出n个数字,代表直方图的条高,直方图每一条的宽度为1,请计算直方图中最大矩形的面积. 思路1:采用一个栈来存高度,生成一个单调递增的栈,如果高度比栈里的最后一个元素小,就需要对前面进行结算。出栈计算比当前值大的值对应面积,宽就是一个从0开始自增的cnt。当比当前元素高的出栈之后,用当前元素值一样的塞进去,这样就是一个单增的栈,遍历结束之后,出栈计算最大面积即可。 思路2:可以搞一个二维数组,然后计算每一个高度他存在的最大宽度,也就是记录他的最左和最右。最后遍历求最大面积就可以了 package

less_cold的博客 240

从零开始:手把手教你用VOACAP软件预测短波最佳工作频率(OWF)

本文详细介绍了如何使用VOACAP软件预测短波通信的最佳工作频率(OWF),涵盖软件安装、参数配置、电离层模型设置及结果解读。通过实战案例和优化技巧,帮助用户掌握短波传播特性,提升通信效率。特别适合业余无线电爱好者和专业通信人员参考。

weixin_30897079的博客 649

PX4飞控 vs 大疆A3:开源与闭源方案在无人机硬件架构中的实战对比

本文深入对比了PX4飞控与大疆A3在无人机硬件架构上的差异,分析了开源与闭源方案在工业级无人机开发中的优劣势。通过详细的硬件配置、传感器兼容性、扩展能力及性能测试数据,为开发者提供选型指南,特别适合需要自定义算法和复杂功能集成的项目。

a3b4c5的博客 888

Golang | Leetcode Golang题解之第84题柱状图中最大的矩形

Golang | Leetcode Golang题解之第84题柱状图中最大的矩形

weixin_66442839的博客 577

【keras】走近VGG16卷积神经网络

        VGG16是一个16层的卷积神经网络模型,输入数据的维度为224*224*3,即长宽均为224像素的RGB彩色图片,VGG16模型的权重由ImageNet训练而来。由于其具有简单实用的优点,因此,在图像分类和目标检测任务中得到了较为广泛的应用。 1.卷积神经网络的基本概念 1.1卷积         简单的将其理解为一种数学运算,具体的计算过程如下图所示:       ...

XYZ 1万+

Golang | Leetcode Golang题解之第85题最大矩形

Golang | Leetcode Golang题解之第85题最大矩形

weixin_66442839的博客 506

NV 英伟达2022数字芯片笔试题

作者:数字IC打工人 链接:【开卷】第27期 NV 英伟达2022数字芯片笔试题_笔经面经_牛客网 来源:牛客网 1、Single Choice: Given thefollowing FIFO and rules, how deep does the FIFO need to be to preventunderflow or overflow? RULES: clk_A=25MHz; clk_B=100MHz; en_B is periodically asserted: period.

weixin_44072819的博客 6387

PX4与ROS协同仿真:从键盘控制到无人机自主飞行

本文详细介绍了如何搭建PX4与ROS协同仿真环境,实现从键盘控制到无人机自主飞行的完整流程。通过XTDrone项目整合PX4飞控、ROS通信框架与Gazebo物理引擎,逐步讲解环境配置、键盘控制实现原理,并深入剖析了迈向Offboard模式实现自主飞行的核心代码与数据流,为无人机算法开发与测试提供了安全的仿真沙盒。

weixin_29169899的博客 498

每日一练——求一个只包含0、1的矩阵中只包含1的最大子矩阵大小

题目描述: 给定一个无序矩阵,其中只有1和0两种值,求只含有1的最大正方形的大小。 例如给定如下矩阵: 1 0 1 0 0 1 0 1 1 1 1 1 1 1 1 1 0 0 1 0 Return 4 int max_square(vector>& matrix) { int row = matrix.size(); int col = matrix[0

千里之行,始于足下 7953

工业仪表读数识别:YOLO目标检测 + OCR混合方案实战

仪表整体(meter):粗定位整只仪表,用于快速裁剪、排除背景干扰表盘区域(dial):精确的圆形/方形表盘区域,用于后续矫正和读数数字区域(display)/指针(pointer):数显表定位数码管区域,指针表可辅助定位指针为什么要分三级?因为现场仪表安装角度、距离、光照差异极大。先粗检再精检,比一步到位的准确率高很多,也方便后续做透视变换。工业仪表读数识别,技术路线的选择比算法精度更重要。选对了路线,事半功倍;选错了,怎么调都达不到验收标准。几条落地建议:指针表优先传统算法。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 95

LeetCode 85 最大矩形

参见 LeetCode 打卡 Day 54 —— 柱状图中最大的矩形 中使用栈的解法,还是挺复杂的,构建一个栈,保证栈中存储的各个下标i,满足height[i]递增,当遍历到j,而height[j]

weixin_41804479的博客 230

【软件定义汽车】-【架构篇】-全面讲解整车电子电气架构演进

前言: 前段时间,陆陆续续写了一些电子电气架构相关的文章。这里打算再写最后一篇作为收尾,为整个系列画上句号,把坑填上,这个话题就算过去了。后续一段时间,尽量把之前文章中挖的“坑”填一下。行文逻辑将借鉴5W2H进行。 另外,本文作为一篇整合性的文章,为保证逻辑的完整性,主要是将大量过去自己文章中的内容进行梳理整合,也存在很多行业内专家的公开文章的内容,请见谅。 WHAT1:什么是汽车电子电气架构? 电子电气架构:EEA,Electrical/Electronic Architecture.

零点壹客的博客 1万+

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Leetcode—85. 最大矩形【困难】

本文介绍了使用单调栈解决Leetcode 85题"最大矩形"的算法。通过逐行构建高度数组,将问题转化为多个柱状图中的最大矩形问题。算法核心在于利用单调栈高效计算每个柱子的左右边界:当遇到较矮柱子时确定右边界,入栈时通过栈顶确定左边界。文章提供了Go语言实现代码,通过维护递增栈结构,在O(n)时间内计算每个柱子的扩展范围,最终求得最大矩形面积。运行结果验证了算法的正确性,该方法能有效解决二维矩阵中的最大矩形问题。

Atticus的博客 1507

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

算法leetcode|85. 最大矩形(rust重拳出击)

给定一个仅包含 0 和 1 、大小为 rows x cols 的二维二进制矩阵,找出只包含 1 的最大矩形,并返回其面积。

二当家的白帽子 1278

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

leetcode85.最大矩形

题目链接:https://leetcode.cn/problems/maximal-rectangle/ 思路 将矩阵拆分成若干个柱状图,然后直接复用84.柱状图中最大的矩形的解法。 假设有以下矩阵: 矩阵前1行形成的柱状图:1 0 1 0 0 矩阵前2行形成的柱状图:2 0 2 1 1 矩阵前3行形成的柱状图:3 1 3 2 2 矩阵前4行形成的柱状图:4 0 0 3 0 对每个柱状图调用maxArea求最大矩形面积,取所有面积的最大值即为所求。 Java class Solution {

byx的博客 211

leetcode 85.最大矩形 HARD

给定一个仅包含0 和 1 的二维二进制矩阵,找出只包含 1 的最大矩形,并返回其面积。 示例: 输入: [ ["1","0","1","0","0"], ["1","0","1","1","1"], ["1","1","1","1","1"], ["1","0","0","1","0"] ] 输出: 6 思路:以每一行为当前下边界,求出各个列的高度 计算当前最大面积(调用...

Z_Y_D_的博客 235

leetcode | go | 第85题 | 最大矩形

最大矩形

iCling的博客 122

[leetcode]85. Maximal Rectangle(Java)

https://leetcode.com/problems/maximal-rectangle/#/description Given a 2D binary matrix filled with 0's and 1's, find the largest rectangle containing only 1's and return its area. For ex

zjkC050818的博客 718

Leetcode 85. Maximal Rectangle

方法1: 这道题目太难了,超出了我的能力。这道题本应该是dp,但是dp好像很烦,我都没去看。但是我看到了一个还不错的解答,就是把这道题转换为第84题。下面我给出链接,看这个人的评论 下面展示这种解法的代码,复杂度没分析,没精力了。复盘的时候自己分析复杂度,并且要把dp解答也弄明白。 class Solution { public int maximalRectangle(char[][] matrix) { if(matrix.length == 0) return 0; .

GoodJobJasper的博客 191

leetcode | go | 第221题 | 最大正方形

【代码】leetcode | go | 第221题 | 最大正方形。

iCling的博客 207

leetcode | go | 未通过的题目

leetcode | go | 未通过的题目。

iCling的博客 473

LeetCode1-160题汇总,希望对你有点帮助!

时间很快,公众号发布的LeetCode题目,已经达到160道题了。今天把发布的1-160篇LeetCode文章整理一下,平时文章都放在比较末尾,阅读量都不高,相信很多人都没看过,如果对于...

程序IT圈 186

LeetCode算法:0~99道

冒泡排序 定义一个布尔变量 hasChange,用来标记每轮是否进行了交换。在每轮遍历开始时,将 hasChange 设置为 false。 若当轮没有发生交换,说明此时数组已经按照升序排列,hashChange 依然是为 false。此时外层循环直接退出,排序结束。 代码示例 Java import java.util.Arrays; public class BubbleSort { private static void bubbleSort(int[] nums) { b

qq_43265673的博客 657
上一篇: leetcode 84. 柱状图中最大的矩形 golang实现
下一篇: leetcode 240. 搜索二维矩阵 II golang实现
tzh_linux
博客等级 码龄12年 12粉丝 117原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值