当前位置: 首页 > news >正文

ps做网站画布多大辽宁招投标网官网

ps做网站画布多大,辽宁招投标网官网,美瞳网站建设,网站建设的风险分析一、题目描述 给定一个仅包含 0 和 1 、大小为 rows x cols 的二维二进制矩阵,找出只包含 1 的最大矩形,并返回其面积。 输入:matrix [["1","0","1","0","0"],["1","0&…

一、题目描述

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

输入:matrix = [["1","0","1","0","0"],["1","0","1","1","1"],["1","1","1","1","1"],["1","0","0","1","0"]]
输出:6
解释:最大矩形如上图所示。

二、思路分析

 暴力枚举+高度数组

首先我们发现,其实找一块块矩阵时,很多时候我们都要重复的寻找一些单元格,来确保我们可以找到最大的矩阵面积。 所以我们可以使用动态规划,来帮助我们记录之前查找过的矩阵信息。我们定义height[i]代表当前行的第j列往上数,数字为1的矩阵高度。然后我们开始一行行遍历,在第i行时,我们要从第j列开始往前查找j-1一直到0,每次的高度取这一路的最小值,然后不断更新最大值。

单调栈

我可以参考关于Leetcode-84.柱状图中最大的矩形。首先我们仍然计算出每一行的高度数组,然后遍历每一行,像上面这个文章一样,看成计算柱状图中的最大矩阵即可。

三、实现代码

只写了暴力枚举的,单调栈方法的代码和上个题差不多,偷个懒。

class Solution:def maximalRectangle(self, matrix: List[List[str]]) -> int:row = len(matrix)col = len(matrix[0])result = 0#height[j]代表在第j列目前为1的矩阵高度height = [0] * colfor i in range(row):for j in range(col):if matrix[i][j] == '1':height[j] += 1if j == 0:result = max(result, height[j])continuemin_height = height[j]for t in range(j, -1, -1):if height[t] == 0:breakmin_height = min(min_height, height[t])current_area = min_height * (j-t+1)result = max(result, current_area)else:height[j] = 0return result

http://www.yayakq.cn/news/899275/

相关文章:

  • 某购物网站建设方案想招代理去什么网站
  • 个人网站建设知乎初学者的网站建设
  • 汕头网站定制网站开发语言 .net
  • php做的直播网站保网官网
  • 扬州专注企业网站建设iis网站属性
  • 朝阳住房和城乡建设官方网站哪家能建设网站
  • 网站流免费服务器地址和ip
  • 阿里云域名 设置网站建设网站需要申请什么
  • 建什么网站可以赚钱网名生成器
  • html5开发的网站关键词歌词林俊杰
  • 网站怎么做404游戏网站的设计方案
  • 海城整站优化房地产十大排名
  • 想在拼购网站做产品html网页制作公司
  • 网站优化快速排名软件做免费资料分享网站会不会涉及版权
  • 长治做百度网站一年多少钱word上下页边距怎么设置
  • 网站开发摊销为新公司取名免费
  • 手机购物网站怎么推广在线视频教育网站开发
  • it之家网站源码成都又出现新增病例了
  • 网站虚拟主机管理一级门户网站建设费用
  • 免费网站建站凡科建站iis建站安装wordpress
  • 收费网站解决方案114黄页企业信息查询
  • 做网站所需要的技术十堰秦楚网十堰晚报新闻
  • 用nas做网站服务器产品设计公司招聘
  • 黑白摄影网站开发一个app需要多少钱?
  • 谷德设计网站微信商城怎么运营
  • 如何为公司建立网站网站改了关键词
  • 写作网站最大网页视频下载软件免费版
  • 沈阳网站制作的公司广州各区风险区域最新动态
  • 帮朋友做网站程序界面设计
  • 织梦网站tag自定义插件社交电商平台种类