LeetCode讲解篇之面试题 01.08. 零矩阵

news2024/12/23 12:49:50

文章目录

  • 题目描述
  • 题解思路
  • 题解代码

题目描述

在这里插入图片描述

题解思路

遍历矩阵,若当前元素为零,则将该行和该列的第一个元素置零
遍历第一行,若当前元素为零,则将当前列置零
遍历第一列,若当前元素为零,则将当前行置零

题解代码

func setZeroes(matrix [][]int)  {
    m, n := len(matrix) - 1, len(matrix[0]) - 1
    for i := m; i >= 0; i-- {
        if matrix[i][0] == 0 {
            defer func() {
                for i := m; i >= 0; i-- {
                    matrix[i][0] = 0
                } 
            }()
            break
        }
    }
    for i := n; i >= 0; i-- {
        if matrix[0][i] == 0 {
            defer func() {
                for i := n; i >= 0; i-- {
                    matrix[0][i] = 0
                }
            }()
            break
        }
    }

    for i := m; i > 0; i-- {
        for j := n; j > 0; j-- {
            if matrix[i][j] == 0 {
                matrix[i][0] = 0
                matrix[0][j] = 0
            }
        }
    }

    for i := m; i > 0; i-- {
       if  matrix[i][0] == 0 {
           for j := n; j > 0; j-- {
               matrix[i][j] = 0
           }
       }
    }

    for i := n; i > 0; i-- {
        if matrix[0][i] == 0 {
            for j := m; j > 0; j-- {
                matrix[j][i] = 0
            }
        }
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1126303.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Kong:高性能、插件化的云原生 API 网关 | 开源日报 No.62

Kong/kong Stars: 35.2k License: Apache-2.0 Kong 是一款云原生、平台无关且可扩展的 API 网关。它以高性能和插件化的方式脱颖而出,提供了代理、路由、负载均衡、健康检查和认证等功能,并成为编排微服务或传统 API 流量的中心层。 以下是 Kong 的核心…

浏览器面试题及答案【集合目录】

前言: 欢迎浏览和关注本专栏《 前端就业宝典 》, 不管是扭螺丝还是造火箭, 多学点知识总没错。 这个专栏是扭螺丝之上要造火箭级别的知识,会给前端工作学习的小伙伴带来意想不到的帮助。 本专栏将前端知识拆整为零,主要…

kr第三阶段(二)32 位汇编

编译与链接 环境配置 masm32 masm32 是微软的 masm32 的民间工具集合。该工具集合除了 asm32 本身的汇编器 ml 外还提供了: SDK 对应的函数声明头文件和 lib 库。32 位版本的 link(原版本是 16 位,这里的 32 位版本的 link 来自 VC 6.0&a…

IDEA工具第二篇:自定义Java方法注释模板 | 京东云技术团队

网上搜索类似的文章有很多,但是一味的复制粘贴总会出现各种奇葩问题,最后然并卵!今天特意自己研究琢磨一下,将最终结果分享给大家,100%亲测可用。 一、说明 想必大家都用过Eclipse的方法注释生成,方法上输…

Django结合Celery进行异步调用

目录 Celery介绍 相关环境 相关配置 1、在proj/proj/目录下创建一个新的celery.py模块 定义 Celery 实例: 2、在proj/proj/__init__.py 模块中导入这个应用程序。 3、在各自模块中定义任务文件tasks.py 4、settings.py配置 服务启动 异步调用 Celery介绍 C…

ChatGPT AIGC 办公自动化拆分Excel工作表

在职场办公中对数据的操作,经常需要将一份表格数据拆分成多个表。 但是在Excel中进行表格拆分的步骤比较多。 在Excel中拆分工作表的步骤: 1.打开您的Excel工作簿,选择您要拆分的工作表。 2.右键单击工作表标签(通常在底部),选择“移动或复制”。 3.在“移动或复制”…

SpringCloud和Kubernetes的区别

又见小道仙: https://blog.csdn.net/Tomwildboar/article/details/129531315 对于SpringCloud在实际项目中并未使用过,只是自学过SpringCloud和SpringCloud Alibaba,也基于学习搭建过demo。 对于Kubernetes,目前这家公司就是使用…

SpringBoot引入包报红,无法使用Maven依赖

今天又是一年一度的程序员节,希望各位编码的小伙伴们能够健健康康,开开心心。 最近弄了一个SpringBoot项目,今天拉取代码的时候发现文件都变成了这样子 平时常用的依赖包都用不了了,重新加载,重新install都无效&#…

浏览器标签上添加icon图标;html引用ico文件

实例 <link rel"shortcut icon" href"./XXX.ico" type"image/x-icon">页面和图标在同一目录内 则 <link rel"shortcut icon" type"text/css" href"study.ico"/>可以阿里矢量图库关键字搜索下载自己…

【tg】9 : InstanceImpl 、 虚拟的音频渲染设备FakeAudioDeviceModuleImpl

代码分布 WebRTC-Manager 线程:manager线程 G:\CDN\P2P-DEV\tdesktop-offical\Telegram\ThirdParty\tgcalls\tgcalls\InstanceImpl.h Manager 使用的是 WebRTC-Manager 线程 InstanceImpl 对Manager 的封装和调用 #

【ESP-BOX-LITE】:照片查看器

目录 项目场景&#xff1a; 项目需求描述&#xff1a; 项目技术&#xff1a; 项目成果&#xff1a; 项目总结&#xff1a; 项目视频&#xff1a; 芳香 项目场景&#xff1a; 使用ESP-BOX-LITE实现照片查看器功能&#xff0c;显示多级目录下的图片或文件夹&#xff0c;自…

Mac风扇控制电脑降温软件Macs Fan Control Pro 简体中文

Macs Fan Control Pro是一款功能强大的Mac风扇控制软件&#xff0c;旨在帮助用户更好地管理和控制Mac电脑的风扇速度和温度传感器。以下是该软件的主要特色介绍&#xff1a; 监测和调整Mac电脑的风扇速度和温度传感器&#xff0c;帮助用户控制设备温度&#xff0c;提高电脑性能…

浅谈RabbitMQ的延迟队列

Part 01、 延迟队列是什么 延迟队列代表了一种强大的消息传递机制&#xff0c;允许我们在将消息发送至RabbitMQ时&#xff0c;规定它们只能在未来某个预定的时间点被消费。这种特殊类型的消息被简称为"延迟消息"。 以RabbitMQ为例&#xff0c;它允许我们通过延迟…

【LeetCode:637. 二叉树的层平均值 | bfs】

&#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;…

用nodejs爬虫台湾痞客邦相册

情景:是这样的,我想保存一些喜欢的小伙伴的照片,一张张保存太慢了, 所以我写了个js,放在国外服务器爬,国内的自己解决~ 使用方法 1.点相册随便一张, 复制url, 这张开始接下来的图片都会保存 /*** 2023年10月23日 22:58:44* 支持解析痞客邦相册* 只需要复制相册第一张图片的ur…

uni-app:多种方法写入图片路径

一、文件在前端文件夹中 1、相对路径引用 从当前文件所在位置开始寻找图片文件的路径。../../ 表示返回两级目录&#xff0c;即从当前文件所在的 wind.vue 所在的位置开始向上回退两级。接着&#xff0c;进入 static 目录&#xff0c;再进入 look 目录&#xff0c;最后定位到 …

如何提高决策能力?目标导向是关键

决策能力是一项综合性较强的素质&#xff0c;有信息收集&#xff0c;信息加工处理到信息输出&#xff0c;形成判断和选择的能力。决策能力不仅仅是指职场领导者的决策能力&#xff0c;其实在日常生活中同样需要决策能力&#xff0c;简单的理解就是信息分析&#xff0c;判断和选…

计算机毕设 大数据二手房数据爬取与分析可视化 -python 数据分析 可视化

# 1 前言 &#x1f525; 这两年开始毕业设计和毕业答辩的要求和难度不断提升&#xff0c;传统的毕设题目缺少创新和亮点&#xff0c;往往达不到毕业答辩的要求&#xff0c;这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。 为了大家能够顺利以及最少的精力通…

强化学习代码实战(1)

机器人领域&#xff1a;控制&#xff0c;规划&#xff0c;感知等都可以用&#xff0c;可以把它作为一个优化过程&#xff0c;那么任何需要优化的问题都可以用它解决。 1.应用 深度学习&#xff1a;智能感知&#xff0c;解决智能如何理解这个世界的问题。 强化学习&#xff1a…

RK3588平台开发系列讲解(显示篇)MIPI DSI协议介绍之分层

🚀返回专栏总目录 文章目录 一、MIPI DSI 分层1.1、应用层1.2、协议层1.3、链路层1.4、物理层沉淀、分享、成长,让自己和他人都能有所收获!😄 📢 DSI 全称是 Display Serial Interface,是主控和显示模组之间的串行连接接口。 MIPI DSI 接口分为数据线和时钟线,均为…