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

python 爬虫 做网站附近找室内装修公司

python 爬虫 做网站,附近找室内装修公司,jsp网站开发工具,app建设网站公司LeetCode 73. 矩阵置零 难度:middle\color{orange}{middle}middle 题目描述 给定一个 KaTeX parse error: Double subscript at position 3: _m_̲ x _n_ 的矩阵,如果一个元素为 0 ,则将其所在行和列的所有元素都设为 0 。请使用 原地 算法…

LeetCode 73. 矩阵置零

难度:middle\color{orange}{middle}middle


题目描述

给定一个 KaTeX parse error: Double subscript at position 3: _m_̲ x _n_ 的矩阵,如果一个元素为 0 ,则将其所在行和列的所有元素都设为 0 。请使用 原地 算法

示例 1:

在这里插入图片描述

输入:matrix = [[1,1,1],[1,0,1],[1,1,1]]
输出:[[1,0,1],[0,0,0],[1,0,1]]

示例 2:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FZihipLq-1677032011375)(null)]

输入:matrix = [[0,1,2,0],[3,4,5,2],[1,3,1,5]]
输出:[[0,0,0,0],[0,4,5,0],[0,3,1,0]]

提示:

  • m==matrix.lengthm == matrix.lengthm==matrix.length
  • n==matrix[0].lengthn == matrix[0].lengthn==matrix[0].length
  • 1<=m,n<=2001 <= m, n <= 2001<=m,n<=200
  • −231<=matrix[i][j]<=231−1-2^{31} <= matrix[i][j] <= 2^{31} - 1231<=matrix[i][j]<=2311

进阶:

  • 一个直观的解决方案是使用 O(mn)O(mn)O(mn) 的额外空间,但这并不是一个好的解决方案。
  • 一个简单的改进方案是使用 O(m+n)O(m+ n)O(m+n) 的额外空间,但这仍然不是最好的解决方案。
  • 你能想出一个仅使用常量空间的解决方案吗?

算法

(原地算法) O(nm)O(nm)O(nm)

我们只需统计出矩阵中每一行或者每一列是否有0,然后把含有0的行或者列都置成0即可。

  • 用两个变量记录第一行和第一列是否有0。
  • 遍历整个矩阵,用矩阵的第一行和第一列记录对应的行和列是否有0。
  • 把含有0的行和列都置成0。

复杂度分析

  • 时间复杂度:矩阵中每个元素只遍历常数次数,所以时间复杂度是O(nm)O(nm)O(nm)

  • 空间复杂度 : 只用了两个额外的变量记录第一行和第一列是否含有0,所以额外的空间复杂度是 O(1)O(1)O(1)

C++ 代码

class Solution {
public:void setZeroes(vector<vector<int>>& matrix) {if (matrix.empty()) return;int n = matrix.size(), m = matrix[0].size();int r0 = 1, c0 = 1;//判断第0for (int i = 0; i < m; i ++) if (matrix[0][i] == 0) r0 = 0;//判断第0for (int i = 0; i < n; i ++) if (matrix[i][0] == 0) c0 = 0;//判断第1行到第n - 1行是否有0,存储在第一列中for (int i = 1; i < n; i ++) {for (int j = 0; j < m; j ++) {if (matrix[i][j] == 0) matrix[i][0] = 0;}}//判断第1列到第 n - 1列是否有0,存储在第一行中for (int i = 1; i < m; i ++) {for (int j = 0; j < n; j ++) {if (matrix[j][i] == 0) matrix[0][i] = 0;}}// 修改行的数值for (int i = 1; i < n; i ++ ) {if (matrix[i][0] == 0) for (int j = 0; j < m; j ++) matrix[i][j] = 0;}//修改列的数值for (int i = 1; i < m; i ++) {if (matrix[0][i] == 0) for (int j = 0; j < n; j ++)matrix[j][i] = 0;}//修改第一行if (r0 == 0) for (int i = 0; i < m; i ++) matrix[0][i] = 0;//修改第一列if (c0 == 0) for (int i = 0; i < n; i ++) matrix[i][0] = 0;}
};

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

相关文章:

  • 影视网站建设多少钱建筑模板哪种好
  • 有免费做门户网站吗购房网
  • 吉林省高等级公路建设局死人网站岳阳招聘网
  • 做网站的文案网站打开速度多少时间
  • 海淀做网站哪家公司好商丘吴昊网络科技有限公司
  • 二手车网站开发过程企业名录2022版
  • 宝安的医院网站建设泰安58同城
  • 怎么做网站访问量电商平台门户网站建设的重要性
  • 手机网站建站步骤论文sem竞价托管多少钱
  • 自己怎样创建网站如何用手机做网页
  • 做英文题的网站重庆转店铺哪个网站平台好
  • 购买型网站建设win7系统做网站服务器
  • 企业网站打不开什么原因企业邮箱怎么申请
  • 微信微网站模板广州做网站设计
  • 网站开发尺寸网络教育网站如何做营销推广
  • 买空间服务器做网站怎么弄自己电脑网站建设
  • cn域名后缀网站广告设计是学什么的
  • 网站群集约化建设徐州最好网站建设
  • 建立网站的步骤是什么惠州网站建设技术支持
  • 校车网站建设装修网站建设网
  • 深圳 公司网站建设ks免费刷粉网站推广马上刷
  • 做网站费用记入什么会计科目wordpress集成ckplayer
  • wordpress4.8是什么昆明网站关键词优化
  • 做集团网站的六安做网站seo
  • php做网站商城系统怎么样有没有做的很炫的科技型网站
  • 网站开发的服务器网站建设与推广销售户话术
  • 免费创网站改了网站关键词
  • 安徽网站建设SEO优化制作设计公司seo教程技术
  • 你访问的网站正在建设泰安网上申请货车通行证
  • 网站建设与设计实习报告多导航织梦网站模板下载