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

做网站支付系统难度网站策划书的内容

做网站支付系统难度,网站策划书的内容,网页和网站做哪个好,代理公司注册有什么猫腻文章目录 一、题目二、C# 题解 一、题目 编写一种算法,若M N矩阵中某个元素为0,则将其所在的行与列清零。 点击此处跳转题目。 示例 1: 输入: [ [1,1,1], [1,0,1], [1,1,1] ] 输出: [ [1,0,1], [0,0,0], [1,0,1] ] 示…

文章目录

  • 一、题目
  • 二、C# 题解

一、题目

  编写一种算法,若M × N矩阵中某个元素为0,则将其所在的行与列清零。

  点击此处跳转题目。

示例 1:

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

示例 2:

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

二、C# 题解

  此题有很多方法解,无外乎都是记录需要清零的行与列,这种写法太无聊了。这里提出一种递归的方式,只需要遍历矩阵一次即可。当遇到 0 时,使用 set0 变量记录该位置,遍历完成后,重置所有 set0

public class Solution {public void SetZeroes(int[][] matrix) {BFS(ref matrix, 0, 0); // 广度优先遍历}public void BFS(ref int[][] matrix, int i, int j) {int m = matrix.Length, n = matrix[0].Length;if (i == m && j == 0) return; // 递归出口// 计算下一个位置int next_i = i, next_j = j + 1;if (next_j == n) {next_j = 0;next_i++;}bool set0 = matrix[i][j] == 0;   // 记录当前状态,是否需要清零BFS(ref matrix, next_i, next_j); // 继续遍历// 最后执行清零if (set0) {for (int p = 0; p < n; p++) matrix[i][p] = 0;for (int q = 0; q < m; q++) matrix[q][j] = 0;}}
}
  • 时间复杂度: O ( m × n ) O(m\times n) O(m×n)
  • 空间复杂度:由矩阵中 0 出现的次数决定。

  该方法依据元素记录,因此当矩阵中 0 出现次数过多时,会有重复操作,只适合处理稀疏 0 矩阵。

  矩阵中 0 过于密集时,使用记录行列的方式会更好些,但可能需要更多的空间和遍历次数。

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

相关文章:

  • 网站建设 蔬菜配送丰城市建设局网站
  • 安仁做网站网站开发主要框架 后端
  • 宝塔怎么做两个网站的解析重庆制作网站有哪些
  • 行业内做网站的公司排名做微信小程序
  • 代网站备案费用吗东莞网络营销外包有哪些
  • 进了网站的后台系统 怎么改公司的网站杭州建设局网站
  • 链接分析属于网站开发做外贸网哪些网站免费
  • 同源大厦 网站建设做短租公寓民宿网站
  • 临沧市住房和城乡建设局门户网站南京酒店网站制作
  • 设计云网站佛山专业网站设计
  • 服务器网站环境王也语录
  • 做网站安全认证做视频网站需要什么证
  • 南京建站公司网页设计素材 旅游
  • 网站开发工程师岗位说明书wordpress并发亿万
  • 网站广告代码wordpress文章添加阅读全文
  • 沈阳开发网站公司凡科互动自动答题
  • 网站虚拟视频主持人二级建造师证书查询官网
  • 想给公司做个网站怎么做的吉林做网站
  • 网站建设 请示drupal 网站实例
  • 怎么去推广一个网站网红自助下单网站
  • 自建站网址品牌营销策略
  • 微信公众平台视频网站开发梨园网站建设
  • 帮人做任务的网站新品发布会致辞稿
  • 一个人做网站需要多久广东省自然资源厅测绘院
  • 网站开发个人技能手把手教你网上开店
  • 各行各业网站建设服务周到wordpress防恶意注册
  • 微网站用手机可以做吗可以网上做单的网站
  • 网站建设辶金手指谷哥十四利用网络挣钱的路子
  • 网站建设误区建筑设计网站模板
  • 网站建设公司2018公司网站自己怎么建立