分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 软件开发

73. Set Matrix Zeroes(js)

发布时间:2023-09-06 02:35责任编辑:蔡小小关键词:js

73. Set Matrix Zeroes

Given a m x n matrix, if an element is 0, set its entire row and column to 0. Do it in-place.

Example 1:

Input: [  [1,1,1],  [1,0,1],  [1,1,1]]Output: [  [1,0,1],  [0,0,0],  [1,0,1]]

Example 2:

Input: [  [0,1,2,0],  [3,4,5,2],  [1,3,1,5]]Output: [  [0,0,0,0],  [0,4,5,0],  [0,3,1,0]]

题意:给定一个二维数组,数字0所在行,列都变为0,返回转化过的数组
代码如下:
/** * @param {number[][]} matrix * @return {void} Do not return anything, modify matrix in-place instead. *///查找每个元素,若为0在该元素的行首和列首设为0,如果行首或者列首存在未0的元素,利用两个bool值的变量检测//然后再遍历数组var setZeroes = function(matrix) { ???//第一行是否有0 ???var row0=false; ???//第一列是否有0 ???var col0=false; ???//行数 ???var rowLen=matrix.length; ???//列数 ???var colLen=matrix[0].length; ???//第一行是否有为0的项 ???for(var i=0;i<colLen;i++){ ?????if(matrix[0][i]==0){ ?????????row0=true; ?????????break; ?????} ???} ???//第一列是否有0的项 ???for(var i=0;i<rowLen;i++){ ???????if(matrix[i][0]==0){ ???????????col0=true; ???????????break; ???????} ???} ???//检测其他项 ???for(var i=1;i<rowLen;i++){ ???????for(var j=1;j<colLen;j++){ ???????????if(matrix[i][j]==0){ ???????????????matrix[0][j]=matrix[i][0]=0; ???????????} ???????} ???} ???//检测每一行首和列首是否有0 ???for(var i=1;i<rowLen;i++){ ???????for(var j=1;j<colLen;j++){ ???????????if(matrix[i][0]==0 || matrix[0][j]==0){ ???????????????matrix[i][j]=0; ???????????} ???????} ???} ???//判断行首,列首本身是否有0 ???if(row0){ ???????for(var i=0;i<colLen;i++){ ???????????matrix[0][i]=0; ???????} ???} ???if(col0){ ???????for(var i=0;i<rowLen;i++){ ???????????matrix[i][0]=0; ???????} ???}};

73. Set Matrix Zeroes(js)

原文地址:https://www.cnblogs.com/xingguozhiming/p/10544894.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved