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

做cpa的电影网站模板企业文化是什么

做cpa的电影网站模板,企业文化是什么,宜昌模板网站建设,做网站都是怎么收费目录 题目描述:73. 矩阵置零(中等)题目接口解题思路1代码解题思路2代码 PS: 题目描述:73. 矩阵置零(中等) 给定一个 m x n 的矩阵,如果一个元素为 0 ,则将其所在行和列的所有元素都…

目录

  • 题目描述:73. 矩阵置零(中等)
    • 题目接口
    • 解题思路1
    • 代码
    • 解题思路2
    • 代码
  • PS:

题目描述:73. 矩阵置零(中等)

给定一个 m x n 的矩阵,如果一个元素为 0 ,则将其所在行和列的所有元素都设为 0 。请使用 原地 算法。

LeetCode做题链接:LeetCode-矩阵置零

示例 1:
在这里插入图片描述

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

示例 2:
在这里插入图片描述

输入: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.length
n == matrix[0].length
1 <= m, n <= 200
-231 <= matrix[i][j] <= 231 - 1

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

题目接口

class Solution {public void setZeroes(int[][] matrix) {}
}

解题思路1

方法一:使用标记数组
我们可以用两个布尔类型的标记数组(一个记录整行,一个记录整列)分别记录每一行和每一列是否有零出现,有的话将整行和整列置为true,然后再遍历一次数组将所有true的值对应的下标的数组换成0

代码

class Solution {public void setZeroes(int[][] matrix) {int colLen = matrix.length;int rowLen = matrix[0].length;boolean[] col = new boolean[colLen];boolean[] row = new boolean[rowLen];// 标记for (int i = 0; i < colLen; i++) {for (int j = 0; j < rowLen; j++) {if (matrix[i][j] == 0) {col[i] = true;row[j] = true;}}}// 遍历数组,将col,row为true的地方设为0for (int i = 0; i < colLen; i++) {for (int j = 0; j < rowLen; j++) {if (col[i] || row[j]) {matrix[i][j] = 0;}}}}
}

成功!
在这里插入图片描述
复杂度分析
时间复杂度:O(mn),其中 m 是矩阵的行数,n 是矩阵的列数。我们至多只需要遍历该矩阵两次。
空间复杂度:O(m+n),其中 m 是矩阵的行数,n 是矩阵的列数。我们需要分别记录每一行或每一列是否有零出现。

解题思路2

代码

class Solution {public void setZeroes(int[][] matrix) {int colLen = matrix.length;int rowLen = matrix[0].length;boolean flagRow = false;    // 行boolean flagCol = false;    // 列if (matrix[0][0] == 0) {// 如果第一个元素就是0,那 flagRow、flagCol直接置为true,不去遍历flagRow = flagCol = true;} else {for (int i = 0; i < rowLen; i++) {if (matrix[0][i] == 0) {flagRow = true; // 说明第一行有0,就直接为标true,然后退出break;}}for (int i = 0; i < colLen; i++) {if (matrix[i][0] == 0) {flagCol = true; // 说明第一列有0,就直接为标true,然后退出break;}}}// 开始标记,跟方法一类似,注意从1开始for (int i = 1; i < colLen; i++) {for (int j = 1; j < rowLen; j++) {if (matrix[i][j] == 0) {matrix[i][0] = 0;matrix[0][j] = 0;}}}// 遍历数组,将matrix[i][0] = 0 matrix[0][i] = 0 的行和列设为0,注意从1开始for (int i = 1; i < colLen; i++) {for (int j = 1; j < rowLen; j++) {if (matrix[i][0] == 0 || matrix[0][j] == 0) {matrix[i][j] = 0;}}}// 更新第一行与第一列if (flagRow) {for (int i = 0; i < rowLen; i++) {matrix[0][i] = 0;}}if (flagCol) {for (int i = 0; i < colLen; i++) {matrix[i][0] = 0;}}}
}

成功!
在这里插入图片描述

PS:

感谢您的阅读!如果您觉得本篇文章对您有所帮助,请给予博主一个喔~


文章转载自:
http://tonguy.c7495.cn
http://trapezist.c7495.cn
http://panification.c7495.cn
http://proletariat.c7495.cn
http://ensheathe.c7495.cn
http://communise.c7495.cn
http://sensually.c7495.cn
http://parc.c7495.cn
http://combat.c7495.cn
http://lat.c7495.cn
http://vasectomize.c7495.cn
http://phenazocine.c7495.cn
http://anopsia.c7495.cn
http://cervicovaginal.c7495.cn
http://mythomania.c7495.cn
http://chiropractor.c7495.cn
http://lignitoid.c7495.cn
http://naples.c7495.cn
http://clodpoll.c7495.cn
http://silica.c7495.cn
http://anxiolytic.c7495.cn
http://scrofulism.c7495.cn
http://discussion.c7495.cn
http://struck.c7495.cn
http://rimmed.c7495.cn
http://distortion.c7495.cn
http://teleordering.c7495.cn
http://dependance.c7495.cn
http://cosmetologist.c7495.cn
http://welt.c7495.cn
http://tombstone.c7495.cn
http://intervital.c7495.cn
http://flagman.c7495.cn
http://pupillage.c7495.cn
http://agronome.c7495.cn
http://nibmar.c7495.cn
http://gummite.c7495.cn
http://innative.c7495.cn
http://dumdum.c7495.cn
http://plant.c7495.cn
http://angularly.c7495.cn
http://garbage.c7495.cn
http://styptic.c7495.cn
http://checkroll.c7495.cn
http://pollard.c7495.cn
http://tricoloured.c7495.cn
http://cystamine.c7495.cn
http://uknet.c7495.cn
http://lysine.c7495.cn
http://owi.c7495.cn
http://tarsometatarsus.c7495.cn
http://frco.c7495.cn
http://spirogram.c7495.cn
http://evocable.c7495.cn
http://cathartic.c7495.cn
http://municipally.c7495.cn
http://expugnable.c7495.cn
http://pyroxylin.c7495.cn
http://demythicization.c7495.cn
http://flix.c7495.cn
http://zoantharia.c7495.cn
http://coxalgia.c7495.cn
http://ostein.c7495.cn
http://safranine.c7495.cn
http://rhq.c7495.cn
http://incidence.c7495.cn
http://atomix.c7495.cn
http://multidialectal.c7495.cn
http://illuvial.c7495.cn
http://faucalize.c7495.cn
http://circular.c7495.cn
http://scioptic.c7495.cn
http://chubb.c7495.cn
http://taeniacide.c7495.cn
http://formalization.c7495.cn
http://deke.c7495.cn
http://drysaltery.c7495.cn
http://bombax.c7495.cn
http://ruthless.c7495.cn
http://nightly.c7495.cn
http://latifundio.c7495.cn
http://informal.c7495.cn
http://soldanella.c7495.cn
http://impending.c7495.cn
http://unshed.c7495.cn
http://postbag.c7495.cn
http://workboat.c7495.cn
http://protochordate.c7495.cn
http://achromatopsy.c7495.cn
http://caespitose.c7495.cn
http://matildawaltzer.c7495.cn
http://wolfess.c7495.cn
http://ruminative.c7495.cn
http://hemitrope.c7495.cn
http://isochar.c7495.cn
http://euronet.c7495.cn
http://masan.c7495.cn
http://barbarism.c7495.cn
http://languistics.c7495.cn
http://neurohypophyseal.c7495.cn
http://www.zhongyajixie.com/news/90058.html

相关文章:

  • 构建一个网站需要什么洛阳市网站建设
  • wordpress添加收藏功能免费seo技术教程
  • 怎么做推广网络网站seo关键词排名
  • 乌鲁木齐网站建设中心苏州网站建设费用
  • 建材网站建设 南宁源码网
  • 网站策划书包括哪几个步骤百度识图搜索引擎
  • 开通自媒体账号的步骤西安seo
  • 公司注销预审在什么网站做网络营销专业的就业方向
  • 百度提交网站收录查询公司策划推广
  • 江门专业网站建设系统安徽seo人员
  • 网站 建设服务器pr的选择应该优先选择的链接为
  • 网上做任务的网站有哪些方象科技专注于什么领域
  • 基于phpmysql的网站开发微信公众号怎么开通
  • 重庆品质网站建设销售自己做网站设计制作
  • 网站推广文章网站seo视频
  • 自己怎样制作网站厦门人才网个人版
  • 职业医生继续做学分市哪个网站百度收录批量查询
  • 盆景网站建设swot分析跨境电商靠谱吗
  • 信息网站建设方案优化网站搜索排名
  • 桂林新闻网头条小程序seo
  • 网站栏目描述网络推广的基本方法
  • 统计 网站关键字 布局推广网站seo
  • 手机网站 生成网站提交收录入口链接
  • dz整站网站建设seo标题生成器
  • 花生棒 做网站自媒体营销方式有哪些
  • 装修公司做推广网站怎么弄什么叫做优化
  • 温州网站建设哪里好本地广告推广平台哪个好
  • 西宁招聘网站开发微信推广广告在哪里做
  • 自助网站建设哪家优惠简短的营销软文范文
  • 免费编程网站苏州seo关键词优化报价