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

海口网站建设哪个好薇搭建网站流程

海口网站建设哪个好薇,搭建网站流程,建设工程协会网站查询系统,惠州市网站建设73. 矩阵置零 - 力扣(LeetCode) 暴力解法 用两个标记数组分别记录每一行和每一列是否有零出现。 遍历该数组一次,如果某个元素为 0,那么就将该元素所在的行和列所对应标记数组的位置置为 true。再次遍历该数组,用标…

73. 矩阵置零 - 力扣(LeetCode)

暴力解法

用两个标记数组分别记录每一行和每一列是否有零出现。

  • 遍历该数组一次,如果某个元素为 0,那么就将该元素所在的行和列所对应标记数组的位置置为 true。
  • 再次遍历该数组,用标记数组更新原数组即可。

时间复杂度:O(mn),其中 m 是矩阵的行数,n 是矩阵的列数。至多只需要遍历该矩阵两次。

空间复杂度:O(m+n),其中 m 是矩阵的行数,n 是矩阵的列数。需要分别记录每一行或每一列是否有零出现。

public class Solution {public void SetZeroes(int[][] matrix) {int m = matrix.Length, n = matrix[0].Length;bool[] row = new bool[m];bool[] col = new bool[n];for (int i = 0; i < m; i++) {for (int j = 0; j < n; j++) {if (matrix[i][j] == 0) {row[i] = col[j] = true;}}}for (int i = 0; i < m; i++) {for (int j = 0; j < n; j++) {if (row[i] || col[j]) {matrix[i][j] = 0;}}}}
}

使用两个标记变量

使用两个额外的变量记录原矩阵的第一行第一列是否包含0。之后便可以修改matrix[0][j]和 matrix[i][0]的数据。

用原矩阵的 第一行 matrix[0][j] 和第一列 matrix[i][0],来代替原来的两个标记数组,从而减少使用的空间。

public class Solution {public void SetZeroes(int[][] matrix) {int m = matrix.Length, n = matrix[0].Length;bool flagCol0 = false, flagRow0 = false;//第一列for(int i = 0; i < m; i++){if(matrix[i][0] == 0){flagCol0 = true;break;}}//第一行for(int j = 0; j < n; j++){if(matrix[0][j] == 0){flagRow0 = true;break;}}//从第二行第二列开始遍历矩阵,将0结点的行列保存在第一行第一列中for(int i = 1; i < m; i++){for(int j = 1; j < n; j++){if(matrix[i][j] == 0)matrix[i][0] = matrix[0][j] = 0;}}//从第二行第二列开始遍历矩阵,根据第一行第一列中的的0修改for(int i = 1; i < m; i++){for(int j = 1; j < n; j++){if(matrix[i][0] == 0 || matrix[0][j] == 0)matrix[i][j] = 0;}}//修改第一列if(flagCol0){for(int i = 0; i < m; i++)matrix[i][0] = 0;}//修改第一行if(flagRow0){for(int j = 0; j < n; j++)matrix[0][j] = 0;}}
}

时间复杂度:O(mn),其中 m 是矩阵的行数,n 是矩阵的列数。我们至多只需要遍历该矩阵两次。

空间复杂度:O(1)。我们只需要常数空间存储若干变量。

http://www.tj-hxxt.cn/news/33231.html

相关文章:

  • 泉州网站建设 首选猴子网络站长工具介绍
  • 链接网站开发需要多少钱百度快照怎么优化排名
  • html软件哪个好用seo是什么意思为什么要做seo
  • 大淘客怎么做网站网站正能量免费推广软件
  • 高端品牌网站建设兴田德润怎么联系湖南平台网站建设设计
  • 外贸网站开发爱链网中可以进行链接买卖
  • fms 视频网站建设seo优化方式包括
  • 需要建设一个什么样的网站百度指数的需求指数
  • 网络优化的意义江苏seo推广
  • B2C网站可使用的交易功能为金戈西地那非片
  • html5手机网站实例英语培训
  • 作品集怎么做网站网络推广和运营的区别
  • 做网站给源码吗白帽seo公司
  • ih5 做视频网站seo全网推广
  • 响应式网站和不响应式企业查询网
  • php开发动态网站开发怎么免费建个人网站
  • 广州站西手表seo挖关键词
  • wordpress 浏览缓慢宁波百度快照优化排名
  • 番禺网站建设三杰科技深圳市seo点击排名软件价格
  • 网站关键词被百度屏蔽怎么办少儿编程培训机构排名前十
  • 荣耀手机商城官方网站荣耀60pro西安seo优化
  • 昆明建站网站资讯平台佛山网络推广哪里好
  • 邯郸网站设计申请杭州百度推广代理商
  • 电子商务网站和普通网站的区别域名查询网址
  • 网站开发工具简述seo的工作内容主要包括
  • 常州品牌网站建设上海外包seo
  • 网站广告招商应该怎么做需要推广的app在哪里找
  • 有自己域名主机怎么做网站网站站内推广怎么做
  • 梅州网站建设求职简历百度关键词优化大师
  • 专业创建网站公司seo网站设计工具