面试题 01.08. 零矩阵

2023-11-17

难度中等

编写一种算法,若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]
]

开始想着直接遍历,遇到0就将整行整列赋0,但这会影响到接下来的对0的判断,所以捏,就先将这些0的下标存起来咯,注意行下标和列下标要分开存,开两个vector;

class Solution {
public:
    void setZeroes(vector<vector<int>>& matrix) {
        int x=matrix.size();
        int y=matrix[0].size();
        vector<int>hang;
        vector<int>lie;
        for(int i=0;i<x;i++)
        {
            for(int j=0;j<y;j++)
            {
                if(matrix[i][j]==0)
                {
                    hang.push_back(i);
                    lie.push_back(j);
                }
            }
        }
        for(int i=0;i<hang.size();i++)
        {
            for(int j=0;j<y;j++)
            matrix[hang[i]][j]=0;
        }
        for(int i=0;i<lie.size();i++)
        {
            for(int j=0;j<x;j++)
            matrix[j][lie[i]]=0;
        }
    }
};

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

面试题 01.08. 零矩阵 的相关文章

  • 如何获取正在访问 ASP.NET 应用程序的当前用户?

    为了获取系统中当前登录的用户 我使用以下代码 string opl System Security Principal WindowsIdentity GetCurrent Name ToString 我正在开发一个 ASP NET 应用程
  • EF Core Group By 翻译支持条件总和

    听说 EF Core 2 1 将支持翻译小组 我感到非常兴奋 我下载了预览版并开始测试它 但发现我在很多地方仍然没有得到翻译分组 在下面的代码片段中 对 TotalFlagCases 的查询将阻止翻译分组工作 无论如何 我可以重写这个以便我
  • GLKit的GLKMatrix“列专业”如何?

    前提A 当谈论线性存储器中的 列主 矩阵时 列被一个接一个地指定 使得存储器中的前 4 个条目对应于矩阵中的第一列 另一方面 行主 矩阵被理解为依次指定行 以便内存中的前 4 个条目指定矩阵的第一行 A GLKMatrix4看起来像这样 u
  • 秒表有最长运行时间吗?

    多久可以Stopwatch在 NET 中运行 如果达到该限制 它会回绕到负数还是从 0 重新开始 Stopwatch Elapsed返回一个TimeSpan From MSDN https learn microsoft com en us
  • 嵌套接口:将 IDictionary> 转换为 IDictionary>?

    我认为投射一个相当简单IDictionary
  • 使用实体框架模型输入安全密钥

    这是我今天的完美想法 Entity Framework 中的强类型 ID 动机 比较 ModelTypeA ID 和 ModelTypeB ID 总是 至少几乎 错误 为什么编译时不处理它 如果您使用每个请求示例 DbContext 那么很
  • OleDbDataAdapter 未填充所有行

    嘿 我正在使用 DataAdapter 读取 Excel 文件并用该数据填充数据表 这是我的查询和连接字符串 private string Query SELECT FROM Sheet1 private string ConnectStr
  • 关于 C++ 转换:参数 1 从“[some_class]”到“[some_class]&”没有已知的转换

    我正在研究 C 并且遇到了一个错误 我不知道确切的原因 我已经找到了解决方案 但仍然想知道原因 class Base public void something Base b int main Base b b something Base
  • 在 ASP.NET 5 中使用 DI 调用构造函数时解决依赖关系

    Web 上似乎充斥着如何在 ASP NET 5 中使用 DI 的示例 但没有一个示例显示如何调用构造函数并解决依赖关系 以下只是众多案例之一 http social technet microsoft com wiki contents a
  • C#中如何移动PictureBox?

    我已经使用此代码来移动图片框pictureBox MouseMove event pictureBox Location new System Drawing Point e Location 但是当我尝试执行时 图片框闪烁并且无法识别确切
  • WCF 中 SOAP 消息的数字签名

    我在 4 0 中有一个 WCF 服务 我需要向 SOAP 响应添加数字签名 我不太确定实际上应该如何完成 我相信响应应该类似于下面的链接中显示的内容 https spaces internet2 edu display ISWG Signe
  • 显示UnityWebRequest的进度

    我正在尝试使用下载 assetbundle统一网络请求 https docs unity3d com ScriptReference Networking UnityWebRequest GetAssetBundle html并显示进度 根
  • 如何在整个 ASP .NET MVC 应用程序中需要授权

    我创建的应用程序中 除了启用登录的操作之外的每个操作都应该超出未登录用户的限制 我应该添加 Authorize 每个班级标题前的注释 像这儿 namespace WebApplication2 Controllers Authorize p
  • 控件的命名约定[重复]

    这个问题在这里已经有答案了 Microsoft 在其网站上提供了命名指南 here http msdn microsoft com en us library xzf533w0 VS 71 aspx 我还有 框架设计指南 一书 我找不到有关
  • 什么时候虚拟继承是一个好的设计? [复制]

    这个问题在这里已经有答案了 EDIT3 请务必在回答之前清楚地了解我要问的内容 有 EDIT2 和很多评论 有 或曾经 有很多答案清楚地表明了对问题的误解 我知道这也是我的错 对此感到抱歉 嗨 我查看了有关虚拟继承的问题 class B p
  • 如何查看网络连接状态是否发生变化?

    我正在编写一个应用程序 用于检查计算机是否连接到某个特定网络 并为我们的用户带来一些魔力 该应用程序将在后台运行并执行检查是否用户请求 托盘中的菜单 我还希望应用程序能够自动检查用户是否从有线更改为无线 或者断开连接并连接到新网络 并执行魔
  • 如何从两个不同的项目中获取文件夹的相对路径

    我有两个项目和一个共享库 用于从此文件夹加载图像 C MainProject Project1 Images 项目1的文件夹 C MainProject Project1 Files Bin x86 Debug 其中有project1 ex
  • 基于 OpenCV 边缘的物体检测 C++

    我有一个应用程序 我必须检测场景中某些项目的存在 这些项目可以旋转并稍微缩放 更大或更小 我尝试过使用关键点检测器 但它们不够快且不够准确 因此 我决定首先使用 Canny 或更快的边缘检测算法 检测模板和搜索区域中的边缘 然后匹配边缘以查
  • C# 模拟VolumeMute按下

    我得到以下代码来模拟音量静音按键 DllImport coredll dll SetLastError true static extern void keybd event byte bVk byte bScan int dwFlags
  • C# - OutOfMemoryException 在 JSON 文件上保存列表

    我正在尝试保存压力图的流数据 基本上我有一个压力矩阵定义为 double pressureMatrix new double e Data GetLength 0 e Data GetLength 1 基本上 我得到了其中之一pressur

随机推荐

  • STM32在线升级 (IAP)

    来自QQ群 Linux 技术分享 311078264 打开链接加入QQ群 https jq qq com wv 1027 k 5Gr3bAx 此文档由elikang整理 为了文章简单直接 许多细节未能在文章中体现 如有疑问请进群讨论 STM
  • GPT-4 VS GPT-3.5!你需要升级plus版本吗?

    GPT 4和 GPT 3 5语言模型在前沿技术的推动下 都具备了相当出色的自然语言生成能力 鉴于GPT 4正式发布的消息已经引发了不小的关注 本文将从完善度测试 推理能力测试 创造力测试三个角度探讨两者的区别和优劣 为您提供实用的指导 帮助
  • u-input改变输入框内的字体样式

    编辑uview的组件input 由于我的项目背景是蓝色 因此要改变input组件的字体颜色 刚开始我的思路是 直接找到u input组件的class 但是这样设置的话 会导致所有的input内文字都变成我设置的颜色 综合网上的信息 我的处理
  • 刷脸支付也将进一步助力生活生产智能化

    支付宝和微信支付竞相发起 扫货节 和 智慧生活日 活动 不约而同地聚焦刷脸支付 用刷脸支付立减 免单的方式鼓励广大消费者投入刷脸支付的怀抱 毫无疑问 刷脸支付是大数据和人工智能时代的产物 同时 刷脸支付也将进一步助力生活生产智能化 为智慧营
  • 《HTML标签》〈ul〉〈ol〉〈li〉的使用

    li 标签定义和用法 li li 标签定义列表项目 li li 标签可用在有序列表 ol 和无序列表 ul 中 ol 标记 称为有序列表 编号列表标记 其功能是将文字段落向内缩进 并在段落的每个项目前面加上1 2 3 有顺序的数字 ol 标
  • Could not find com.android.support:appcompat-v7:23.1.1 问题解决

    allprojects repositories jcenter maven url https maven google com 添加这个就可以
  • 毛坯装修知识

    硬装指的是装修阶段必须完成的项目 而且一旦完成 很难改动 软装基本就是搬家时能够搬走的那些东西 最简单的区别就是 把屋子倒过来 会掉下来的就是软装 掉不下来的就是硬装 家具电器 窗帘布艺 装饰挂画等等都算软装 插座 门 地板瓷砖这些 更换起
  • 融合零样本学习和小样本学习的弱监督学习方法综述

    融合零样本学习和小样本学习的弱监督学习方法综述 人工智能技术与咨询 来源 系统工程与电子技术 作者潘崇煜等 摘 要 深度学习模型严重依赖于大量人工标注的数据 使得其在数据缺乏的特殊领域内应用严重受限 面对数据缺乏等现实挑战 很多学者针对数据
  • 小程序之坑---input自动获取焦点

    项目 taro3 vue3 taro ui vue3 方法一 taro ui vue3的input组件的autoFocus focus无效 方法二 原生input组件的auto focus在这个环境下也无效 但是在原生项目中有效 方法三 通
  • js里document的用法

    document write 动态向页面写入内容 document createElement Tag 创建一个html标签对象 document getElementById ID 获得指定ID值的对象 document getEleme
  • mysql 两个时间相减返回年、月、日、时、分、秒

    select timestampdiff 变量 开始时间 结束时间 变量 year 年 month 月 day 天 hour 小时 minute 分钟 second 秒 例如
  • 由Vite读音引发的英语颠覆

    前段时间出了个项目Vite 被读成va t 结果后面发现是读vi t 后面又引出了height的读音 我们有些人读he t 有些人读ha t 结果是读ha t 我也是读了20年的he t 因为有个weight是读we t的 所以想当然的以为
  • 对象和字符串之间的相互转换

    原文链接 对象和字符串之间的相互转换 编程屋 相关依赖
  • Python——12306图片验证码

    本次爬虫 我们来模拟一下12306的验证码验证 本次练习用到的模块 requests re base64 urllib3 第一步 按F12查看验证码图片的信息 提取URL https kyfw 12306 cn passport captc
  • 前端页面之间url传参

    function getUrlParam name var reg new RegExp name var r window location search substr 1 match reg ECMAScript v3 已从标准中删除了
  • 如何设置office2003为默认打开方式

    如何设置office2003为默认打开方式 当系统同时安装 office 2003和 office 2007 或2010 两个版本的 office办公软件的时候 双击打开一个office文档 Word Excel Powerpoint 默认
  • 【CV with Pytorch】第 10 章 :计算机视觉的可解释人工智能

    大多数机器学习和深度学习模型都缺乏解释和解释结果的方法 由于深度学习模型的动态特性和不断增加的最先进模型 当前的模型评估基于准确度分数 这使得机器学习和深度学习成为黑盒模型 这导致对应用模型缺乏信心 对生成的结果缺乏信任 有多个库可以帮助我
  • 刷题统计(蓝桥杯)

    刷题统计 问题描述 小明决定从下周一开始努力刷题准备蓝桥杯竞赛 他计划周一至周五每天 做 a 道题目 周六和周日每天做 b 道题目 请你帮小明计算 按照计划他将在 第几天实现做题数大于等于 n 题 输入格式 输入一行包含三个整数 a b 和
  • 数据结构基础:2.顺序表。

    顺序表的介绍和实现 一 线性表 1 基本概念 二 顺序表 1 基本概念 分类 1 静态顺序表 分类 2 动态顺序表 2 动态顺序表的功能接口的实现 0 顺序表打印 1 初始化和删除 2 尾插尾删 3 头插头删 4 任意位置插入删除 5 查找
  • 面试题 01.08. 零矩阵

    难度中等 编写一种算法 若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 输出