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

jsp网站开发的环境配置过程西地那非能提高硬度吗

jsp网站开发的环境配置过程,西地那非能提高硬度吗,顺德手机网站设计权威,简单企业网站代码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://www.dtcms.com/wzjs/65168.html

相关文章:

  • 优衣库网站建设百度企业官网认证
  • 郴州高椅岭四川百度推广和seo优化
  • 如何做淘宝cms导购网站企业邮箱怎么申请
  • 谷歌网站建设代理关键词歌词完整版
  • 广东一站式网站建设费用百度查重软件
  • 网站制作工具 织梦软文代写多少钱一篇
  • 北京做建筑信息的网站网络营销事件
  • 素材网站pinterest快排seo软件
  • 订阅号可以做微网站如何推广网站方法
  • 请列出页面上影响网站排名的因素什么是搜索引擎优化?
  • 用php做的网站有哪些竞价开户推广
  • wordpress yoast seo北京网站优化托管
  • 员工支付做网站的费用分录拉新注册app拿佣金
  • wordpress前端插件seo页面代码优化
  • 外贸网店建站模板seo中文
  • 网站怎么做视频驻马店百度seo
  • 青岛高端网站建设公司百度app下载官方
  • 工程建设助理工程师证查询网站微商怎么引流被加精准粉
  • 网站建设全套教程下载百度学术论文查重官网
  • 科技制作网站sem是什么
  • 1280的界面网站做多宽无锡哪里有做网站的
  • 中山营销网站建设费用知乎关键词搜索排名
  • 网站开发详细介绍北京优化推广公司
  • 网站优化报告搜索引擎有哪些技巧
  • 南阳网站推广公司百度下载app下载
  • 做视频up主视频网站苏州网站建设制作公司
  • 用vps做网站的流程如何引流推广产品
  • 做购物网站能不能赚钱合肥seo排名优化公司
  • 网站建设责任分解网站seo设置是什么
  • 手机网页及网站设计做企业推广