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

查建筑公司资质的网站京津冀协同发展的路径主要涉及

查建筑公司资质的网站,京津冀协同发展的路径主要涉及,保山做网站建设,定制家具品牌1.题目基本信息 1.1.题目描述 给定一个大小为 m x n 的二维矩阵 grid。同时给定一个 非负整数 k。 返回满足下列条件的 grid 的子矩阵数量: 子矩阵中最大的元素 小于等于 k。 子矩阵的每一行都以 非递增 顺序排序。 矩阵的子矩阵 (x1, y1, x2, y2) 是通过选择…

1.题目基本信息

1.1.题目描述

给定一个大小为 m x n 的二维矩阵 grid。同时给定一个 非负整数 k。

返回满足下列条件的 grid 的子矩阵数量:

子矩阵中最大的元素 小于等于 k。

子矩阵的每一行都以 非递增 顺序排序。

矩阵的子矩阵 (x1, y1, x2, y2) 是通过选择所有满足 x1 <= x <= x2 且 y1 <= y <= y2 的 grid[x][y] 元素组成的矩阵。

1.2.题目地址

https://leetcode.cn/problems/find-sorted-submatrices-with-maximum-element-at-most-k/description/

2.解题方法

2.1.解题思路
单调栈

时间复杂度:O(n)

2.2.解题步骤
第一步,构建rows矩阵,rows[i][j]表示从mat[i][j]开始向左连续非严格递增且小于等于k的元素的个数(包括本身)

第二步,遍历每一列,列号记为j,再遍历每列中的每行,行号即为i

2.1.构建每一列的维护变量。total维护以(i,j)为右下角的全为1的子矩阵个数(如果该列的rows[i][j]非严格递增,则就等于前缀和);stack维护随着rows[i][j]严格递增的单调栈,存储单元形式为(rows[i][j],height*=rows矩阵中(i,j)上面连续不小于rows[i][j]的个数+1)

2.2.遍历每一列,更新total和stack,并将total更新到结果变量result中。total更新:如果rows[i][j]大于或等于单调栈栈顶的元素,则直接将rows[i][j]增加到total中,并入栈即可;如果小于,则将大的元素从栈中弹出,并从total中切除多余的子矩阵数(相当于切成一个非严格递增的rows[i][j]序列)

3.解题代码

Python代码

class Solution:def countSubmatrices(self, grid: List[List[int]], k: int) -> int:# 思路:单调栈# 参考:Leetcode 1504. 统计全 1 子矩形mat = gridm, n = len(mat), len(mat[0])# 第一步,构建rows矩阵,rows[i][j]表示从mat[i][j]开始向左连续非严格递增且小于等于l的元素的个数(包括本身)rows = [[0] * n for _ in range(m)]for i in range(m):for j in range(n):if mat[i][j] <= k:if j > 0 and mat[i][j] <= mat[i][j - 1]:rows[i][j] = rows[i][j - 1] + 1else:rows[i][j] = 1# 第二步,遍历每一列,列号记为j,再遍历每列中的每行,行号即为iresult = 0for j in range(n):# 2.1.构建每一列的维护变量。total维护以(i,j)为右下角的全为1的子矩阵个数(如果该列的rows[i][j]非严格递增,则就等于前缀和);stack维护随着rows[i][j]严格递增的单调栈,存储单元形式为(rows[i][j],height*=rows矩阵中(i,j)上面连续不小于rows[i][j]的个数+1)total = 0stack = []# 2.2.遍历每一列,更新total和stack,并将total更新到结果变量result中。total更新:如果rows[i][j]大于或等于单调栈栈顶的元素,则直接将rows[i][j]增加到total中,并入栈即可;如果小于,则将大的元素从栈中弹出,并从total中切除多余的子矩阵数(相当于切成一个非严格递增的rows[i][j]序列)for i in range(m):height = 1while stack and stack[-1][0] >= rows[i][j]:preRow, preHeight = stack.pop()height += preHeighttotal -= (preRow - rows[i][j]) * preHeighttotal += rows[i][j]stack.append([rows[i][j], height])result += totalreturn result

4.执行结果

在这里插入图片描述


文章转载自:

http://2jqaK9gu.tkyry.cn
http://TkYYKeAy.tkyry.cn
http://EAR8moQy.tkyry.cn
http://2QC57k6X.tkyry.cn
http://r4VqDqIp.tkyry.cn
http://0O4mTLEd.tkyry.cn
http://XATPzZmL.tkyry.cn
http://NkX1yOBg.tkyry.cn
http://1xhIpYeb.tkyry.cn
http://pzhIo0lJ.tkyry.cn
http://bUgjcH4y.tkyry.cn
http://uhebzxnA.tkyry.cn
http://yufPJhli.tkyry.cn
http://0ONP8d5n.tkyry.cn
http://SGR9krAN.tkyry.cn
http://9PAvTYKU.tkyry.cn
http://4dZdOZTJ.tkyry.cn
http://GsErBDQ3.tkyry.cn
http://VmMRf6aj.tkyry.cn
http://9whab220.tkyry.cn
http://52qWmkPJ.tkyry.cn
http://lKtWzo8d.tkyry.cn
http://1qYNb9WY.tkyry.cn
http://rtoD1nBQ.tkyry.cn
http://KZS0hkWm.tkyry.cn
http://AyTpfReN.tkyry.cn
http://mAwrZesG.tkyry.cn
http://0kQq5Fm2.tkyry.cn
http://ahyeOpmg.tkyry.cn
http://WZXwyMWg.tkyry.cn
http://www.dtcms.com/wzjs/673658.html

相关文章:

  • 手机网站优化指南手机资讯网站源码
  • vps服务器的iis网站交换神器
  • 网站qq号获取网站优化排名易下拉稳定
  • 给客户做网站iis建立的网站打不开
  • 如何在手机上做自己的网站凯里网站设计
  • 东莞效果好的网站建设图片展示网站php源码
  • 游戏logo设计网站企业黄页软件
  • 企业网站源码破解版浙江门户网站建设公司
  • 下载了网站源码南宁网站推广策略
  • 移动互联网开发方向包含哪些课程泰州百度seo
  • html制作手机网站电脑路由器做网站服务器吗
  • 广东手机网站建设报价怎样建网站视频教程
  • 网站 微信小程序怎么做佛山做外贸网站特色
  • 制作网站用的域名wordpress2345
  • 酒店用品网站建设建筑工程培训机构
  • 东莞做网站沃德网络规划设计师通过率最低
  • 绵阳市住房 和城乡建设局网站电脑软件界面设计
  • 网站建设与维护大学生总结腾讯网站建设推广
  • 网站建设竞价托管平台优化是什么意思
  • 保定网站制作公司外国做图网站
  • 北京手机网站开发个人网站用什么服务器
  • 网站建设东莞老铁博客重庆餐饮网站建设
  • 网站建设基础流程摘要安平做网站做推广电话
  • 网站为什么维护中上海做网站哪里好
  • 企业网站托管外包平台淘宝客网站里面catid=16
  • 解决做网站问题网站宝搭建网站环境
  • 怎么把asp网站做的好看微信公众号制作方法
  • 网站备案最快多久网站排名的英文
  • nginx网站开发wowslider wordpress
  • 学网站建设有什么用虚拟主机多个网站