73. 矩阵置零(JS实现)

js二维数组定义和初始化的三种方法总结 方法一:直接定义并且初始化,这种遇到数量少的情况可以用 var _TheArray = [[“0-1″,”0-2”],[“1-1″,”1-2”],[“2-1″,”2-2”]] 方法二:未知长度的二维数组 var tArray = new Array(); //先声明一维 for(var k=0;k<i;k++){ //一维长度为i,i为变量,可以根据实际情况改变 tArray[k]=new Array(); //声明二维,每一个一维数组里面的一个元素都是一个数组; for(var j=0;j<p;j++){ //一维数组里面每个元素数组可以包含的数量p,p也是一个变量; tArray[k][ 立即下载

1 题目

给定一个 m x n 的矩阵,如果一个元素为 0,则将其所在行和列的所有元素都设为 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]
]
进阶:
一个直接的解决方案是使用 O(mn) 的额外空间,但这并不是一个好的解决方案。
一个简单的改进方案是使用 O(m + n) 的额外空间,但这仍然不是最好的解决方案。
你能想出一个常数空间的解决方案吗?

2 思路

这道题的思路主要是用两个数组,分别用来存储值等于0的元素行列号,然后再遍历这两个数组将对应的行和列置0,题解中还有一种方法,把原数组的第一行和第一列当作行列数组来进行标记,这样就没有使用额外m + n的空间

3代码

/**
 * @param {number[][]} matrix
 * @return {void} Do not return anything, modify matrix in-place instead.
 */
var setZeroes = function(matrix) {
    const rows = [];
    const cols = [];
    const m = matrix.length;
    const n = matrix[0].length;

    for (let i=0; i<m; i++) {
        if (cols.length === n) {   //当所有列都要置为0时,就没有再遍历行的必要了
            rows.push(i);
            continue;
        }
        for (let j=0; j<n; j++) {
            if (matrix[i][j] === 0) {
                rows.push(i);
                if (cols.includes(j)) continue;
                cols.push(j);
            }
        }
    }

    for (let i=0; i<rows.length; i++) {
        for (j=0; j<n; j++) {
            matrix[rows[i]][j] = 0;
        }
    }

    for (let i=0; i<cols.length; i++) {
        for (let j=0; j<m; j++) {
            matrix[j][cols[i]] = 0;
        }
    }
};
dify智能体:日志管理与标注功能详解 日志管理与标注功能是优化聊天助手、Agent、文本生成应用、Chatflow 和工作流等工具交互体验的关键。日志管理允许用户查看、修改和标注日志,帮助回顾和优化交互内容。用户可以通过点击👍或👎按钮快速标注满意度,标注后的日志可用于后续优化和分析。标注功能则支持用户对交互内容进行标记和调整,以提升模型输出质量。此外,用户还可以调整界面语言和时区设置,确保在熟悉的环境中操作。这些功能共同作用,显著提升了交互体验和模型性能。 阅读详情

相关推荐

6.2 磁悬浮轴承:软件架构与实现

本文系统阐述了磁悬浮轴承控制系统的软件架构与实现方法。采用分层架构设计,包括硬件抽象层、实时控制内核、控制算法层和应用层,确保系统实时性和可靠性。重点分析了电流环、位置环等关键控制任务的调度策略,比较了不同硬件平台(DSP、ARM、FPGA)的软件实现方案。强调模块化设计、配置化管理等工程实践,并详细介绍了从算法仿真到系统联调的完整开发流程。最后指出严格的测试验证是保证系统性能的关键,需通过多阶段测试评估起浮时间、稳态精度等核心指标。

技术工作者 754

Javascript每天一道算法题(十八)——矩阵置零-中等

Javascript每天一道算法题(十八)——矩阵置零-中等

weixin_44784401的博客 703

RT-Thread 5.1.0 实战:手把手教你用CubeMX和RT-Studio创建第一个工程(附常见编译错误修复)

本文详细介绍了如何使用STM32CubeMX和RT-Thread Studio 5.1.0创建第一个RT-Thread工程,包括开发环境准备、CubeMX配置、工程整合及常见编译错误修复。通过实战指南,帮助开发者快速上手RT-Thread 5.1.0,解决开发过程中的典型问题,提升嵌入式开发效率。

weixin_29165465的博客 285

73. 矩阵置零---js解法

题目描述: 给定一个 m x n 的矩阵,如果一个元素为 0 ,则将其所在行和列的所有元素都设为 0 。请使用 原地 算法。 力扣链接: https://leetcode-cn.com/problems/set-matrix-zeroes/ 解题思路: 1.检查并标记第一行和第一列是否有0 2.使用第一行和第一列,来标记其余行列是否含有0 3.接下来,利用第一行和第一列的标0情况,将matrix中的数字标0 4.最后,处理第一行和第一列 如果firstCol

qq_45679015的博客 328

别再死记硬背了!用LabVIEW串口通信的3个真实项目案例,手把手教你从调试到部署

本文通过3个真实项目案例,详细讲解LabVIEW串口通信从调试到部署的全过程。涵盖Arduino温湿度监控、西门子PLC Modbus通信以及高可靠性通信框架设计,提供实用技巧和常见问题解决方案,帮助工程师快速掌握LabVIEW串口通信的实战应用。

weixin_30485379的博客 523

Netapp FAS2750更换磁盘后不同步问题处理

netapp fas2750磁盘更换后不同步问题处理

jetliu05的博客 1256

每日一题@49矩阵置零

给定一个 m x n 的矩阵,如果一个元素为 0,则将其所在行和列的所有元素都设为 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] ] 来源:力扣(LeetCo

iMark 396

华为OD机试真题 新系统 2026-09-26 Java&Go&C【数据中心最佳维护时间窗】

数据中心使用一个整数数组 scores,记录 N 小时内每小时的服务器得分(可正可负)。0 表示服务器故障(无效小时)。

MISAYAONE的博客 99

LeetCode-中级-矩阵置零(JavaScript)

给定一个 m x n 的矩阵,如果一个元素为 0,则将其所在行和列的所有元素都设为 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] ] ...

romeo12334的博客 489

第076篇:大涡模拟进阶

大涡模拟(Large Eddy Simulation, LES)是介于直接数值模拟(DNS)和雷诺平均方法(RANS)之间的重要湍流模拟方法。本文深入介绍动态Smagorinsky模型、尺度相似模型、WALE模型和隐式LES等高级亚格子模型。通过Python实现槽道湍流和圆柱绕流的LES求解器,详细展示近壁面处理、动态系数计算和亚格子应力建模技术。大涡模拟,亚格子模型,动态模型,Smagorinsky,WALE模型,尺度相似模型,近壁面处理,槽道湍流LES的核心思想是对Navier-Stokes方程进行空间

2401_87715305的博客 740

小程序数据采集(3):PC端微信小程序降维调试与流量数据获取详解

本文提出了一种针对PC端微信小程序的逆向分析方法,通过利用PC端基于Chromium架构的天然优势,实现无需Root的降维打击。文章详细介绍了如何开启CEF远程调试协议、基于DevTools Protocol实现流量劫持、对抗PC端安全防线以及获取小程序本地存储数据的技术方案。相比移动端严苛的环境,PC端小程序在调试接口、网络拦截和数据存储等方面存在显著漏洞,为爬虫开发提供了更便捷的突破口。

数据知道的博客 827

leetcode 矩阵置零(js实现)

矩阵置零 给定一个 m x n 的矩阵,如果一个元素为 0,则将其所在行和列的所有元素都设为 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] ] 解题思路 利

qq_41096610的博客 463

PLC为西门子的S7-1200,舵机为 DS3218,PLC控制舵机旋转程序实现?

🏆 本文收录于《全栈Bug调优(实战版)》专栏,致力于分享我在项目实战过程中遇到的各类Bug及其原因,并提供切实有效的解决方案。无论你是初学者还是经验丰富的开发者,本文将为你指引出一条更高效的Bug修复之路,助你早日登顶,迈向财富自由的梦想🚀!同时,欢迎大家关注、收藏、订阅本专栏,更多精彩内容正在持续更新中。让我们一起进步,Up!Up!Up!    备注: 部分问题/难题源自互联网,经过精心筛选和整理,结合数位十多年大厂实战经验资深大佬经验总结所得,数条可行方案供所需之人参考。

**My Coding Family** 999

Leetcode 73.矩阵置零 JavaScript (Day 8)

【代码】Leetcode 73.矩阵置零 JavaScript (Day 8)

Loving CS ~ 149

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

【LeetCode Hot100】73.矩阵置零

针对矩阵置零问题,采用两个布尔数组标记含 0 的行与列,两次遍历完成矩阵原地置零。算法时间复杂度 O (mn),空间复杂度 O (m+n),实现简单直观,但未达到常量空间的进阶最优要求。

weixin_62593868的博客 299

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

js.矩阵置零

/ 将含0的行和列进行保存下来。// 将含0的行的所有值置0。// 将含0的列的所有值置0。,则将其所在行和列的所有元素都设为。的矩阵,如果一个元素为。

露西西⭐的博客 824

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

LeetCode热题100JS(20/100)第四天|​41. 缺失的第一个正数​|​73. 矩阵置零​|​54. 螺旋矩阵​|​48. 旋转图像​

这题太巧妙了,虽然写出来就几行,但逻辑上要拐几个弯(头凸)73. 矩阵置零73. 矩阵置零难度:中等刷题状态:1刷不难,多刷多记由转置矩阵的代码要知道是怎么写的,先生成cols个[[],[],[],,,,]空子集,再往里面赋值注意上面i,j的不同,i,j都是相对于当前的mat。

Alicesflower的博客 2268

【LeetCode 73】矩阵置零

题目描述 给定一个 m x n 的矩阵,如果一个元素为 0,则将其所在行和列的所有元素都设为 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] ] 进阶: 一个直接

公众号:前端充电宝 446

73.矩阵置零

给定一个mxn的矩阵,如果一个元素为 0,则将其所在行和列的所有元素都设为 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] ] 进阶: ...

qq_33651064的博客 307

73. 矩阵置零

题目描述给定一个 m x n 的矩阵,如果一个元素为 0,则将其所在行和列的所有元素都设为 0。请使用原地算法。示例1:输入: [ [1,1,1], [...

azl397985856的专栏 323

leetcode(js)-每日一练之 矩阵置零 题库编号 73

leetcode(js)-每日一练之 矩阵置零 1.检查并标记第一行和第一列是否有0 (firstColHasZero和firstRowHasZero) 2.忽略第一行第一列,若其余行列含有0,将其所在的行列的最左边和最上面置为0(在第一行第一列上) 3.接下来,利用第一行和第一列的标0情况,将matrix的数字标0 4.最后,处理第一行和第一列 如果firstColHasZero 等于true,将第一列全设为0 如果firstRowHasZero等于false ,将第一行全设为0 var setZer

qq_25503949的博客 230

leetcode 73:矩阵置0

我的思路是 ,用一个hash set存 每个为0点的坐标,然后取出来后迭代置0; 这样做的话也有毛病:处有重复置0的情况 struct VectorHash{ size_t operator() (const vector<int>& v) const{ hash<int> hasher; size_t seed = 0; for(int i...

木剑温华 的 博客 229

Leetcode 156 旋转图像 | 矩阵置零

顺时针旋转 90° = 上下翻转 + 主对角线翻转,这是最适合新手的原地解法代码无额外数组,纯原地修改,满足题目要求两个简单循环就能实现,逻辑清晰、好记好写记录第一行、第一列原本有没有 0遍历矩阵,把行标记放第一列,列标记放第一行用标记把中间区域置 0最后处理第一行、第一列。

im_AMBER的博客 466

力扣 73. 矩阵置零 js

var setZeroes = function(matrix) { let firstROW=false; let firstCol=false; //1.判断第一行是否有零有零则标记 for(let i=0;i<matrix[0].length;i++) { if(matrix[0][i]==0) { firstROW=true; } } //2.判断第一列是否有零有零则标记 .

big_wolf0的博客 249

leetcode 73. 矩阵置零

给定一个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: 输入: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 == ma..

烧烤团子 160

LeetCode题解:73. 矩阵置零,栈,JavaScript,详细注释

原题链接:73. 矩阵置零 解题思路: 遍历矩阵,找到所有为0的坐标,将它们都存入栈。 从栈中依次弹出坐标,并将对应的行、列元素都设置为0。 /** * @param {number[][]} matrix * @return {void} Do not return anything, modify matrix in-place instead. */ var setZeroes = function (matrix) { let stack = []; // 使用栈存储矩阵中为0的坐标

Lee Chen的博客 213
上一篇: 71. 简化路径(JS实现)
下一篇: 74. 搜索二维矩阵(JS实现)
PAT-python-zjw
博客等级 码龄10年 381粉丝 408原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值