【Leetcode刷题篇】leetcode84 柱状图中最大的矩形
发布日期:2021-06-29 15:35:32 浏览次数:3 分类:技术文章

本文共 833 字,大约阅读时间需要 2 分钟。

给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。

求在该柱状图中,能够勾勒出来的矩形的最大面积。

在这里插入图片描述
以上是柱状图的示例,其中每个柱子的宽度为 1,给定的高度为 [2,1,5,6,2,3]。
在这里插入图片描述
图中阴影部分为所能勾勒出的最大矩形面积,其面积为 10 个单位。

示例:

输入: [2,1,5,6,2,3]
输出: 10

解题思路:

具体来说就是:依次遍历柱形的高度,对于每一个高度分别向两边扩散,求出以当前高度为矩形的最大宽度多少。
在这里插入图片描述

package com.lcz.leetcode;// 最大矩形  与接雨水类似public class Leetcode84 {
class Solution {
public int largestRectangleArea(int[] heights) {
// 输入判断 if(heights.length==0 ||heights==null) {
return 0; } // 输出结果 int res = 0; for(int i=0;i
=0&&heights[left]>=curHeight) {
left--; } // 找右边最后一个大于等于height[i]的下标 int right = i+1; while(right
=curHeight) {
right++; } // 宽度 int width = right-left+1; res = Math.max(res, width*curHeight); } return res; } }}

转载地址:https://codingchaozhang.blog.csdn.net/article/details/111568178 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:【Leetcode刷题篇】leetcode85 最大矩形
下一篇:【面试篇】Java网络编程与IO流体系

发表评论

最新留言

逛到本站,mark一下
[***.202.152.39]2024年04月15日 15时03分05秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章