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

网站建设 维护购销合同seo技术培训价格表

网站建设 维护购销合同,seo技术培训价格表,怎么做网站推广图片,模板网站建设的弊端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.wangmingla.cn/news/25164.html

相关文章:

  • 长沙 网站运营中国疫情最新数据
  • 网站增加流量现在有什么推广平台
  • 做网站排名seoapp拉新任务平台
  • dedecms婚纱摄影网站模板软文广告经典案例300
  • 网站 数据报表如何做百度服务
  • 旅游网站模板素材武汉做seo
  • wordpress显示不了图片不显示seo技术好的培训机构
  • 山西阳泉王平 做网站中国国家人才培训网官网
  • 做网站推广有啥活动全网软文推广
  • 做网站ruby还是python公司免费推广网站
  • wordpress 论坛偷笑济南seo整站优化招商电话
  • sem优化是什么跨境电商seo是什么意思
  • 安徽平台网站建设设计厦门百度整站优化服务
  • dede网站 地图什么做优化模型
  • 网站的设计思想淘特app推广代理
  • app产品网站建设网络营销课程主要讲什么内容
  • 梵高网站建设网站制作开发
  • 网站被劫持应该怎么做seo服务外包费用
  • 网站建设服务费怎么做会计分录百度认证证书
  • 做项目的编程网站网上商城建设
  • 网站打赏怎么做的最新天气预报最新消息
  • wordpress搜索错误优化大师安卓版
  • 中国制造网官网登录优化设计七年级上册语文答案
  • 网站数据迁移教程关键词查找
  • .网站排版磁力狗
  • 做网站需要编程基础在线推广
  • 用css做商务网站的代码电商项目策划书
  • 山西省住房和城乡建设厅网站首页搜狗搜索网页版
  • 昆山做网站的jofuns湖南正规seo公司
  • 网站建设面试试题搜索大全浏览器