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

面试金典题8

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

leetcode代码

class Solution {
public:
    void setZeroes(vector<vector<int>>& matrix) {
        int n=matrix.size();
        int m=matrix[0].size();
        vector<int> row(n),col(m);
        for(int i=0;i<n;i++){
            for(int j=0;j<m;j++){
                //若该元素等于0,则标记该元素的行和列
                if(matrix[i][j]==0){
                    row[i]=true;
                    col[j]=true;
                }
            }
        }
        for(int i=0;i<n;i++){
            for(int j=0;j<m;j++){
                //若该元素所属列或行被标记,则赋值为0
                if(row[i]||col[j]){
                    matrix[i][j]=0;
                }
            }
        }
    }
};


http://www.kler.cn/a/314752.html

相关文章:

  • 什么是RAG? LangChain的RAG实践!
  • 【Linux】进程池实现指南:掌控并发编程的核心
  • 【电力系统】永磁同步电机调速系统带有扰动观测器
  • 云防护单节点2T抗攻击能力意味着什么?
  • JMeter基础篇
  • 「IDE」集成开发环境专栏目录大纲
  • go webapi上传文件
  • 【Linux】Docker:离线主机部署
  • 【Temporal】日志打印控制
  • 【AI视频】AI虚拟主播制作网站推荐
  • 深度学习02-pytorch-06-张量的形状操作
  • 基于深度学习的智能电网优化
  • Java异常架构与异常关键字
  • Spring后端直接用枚举类接收参数,自定义通用枚举类反序列化器
  • IT行业:未来发展的无限可能
  • 【医学半监督】置信度指导遮蔽学习的半监督医学图像分割
  • 51单片机-系列-数码管中断和定时器
  • Lsposed Java HOOK原理及检测
  • 我的AI工具箱Tauri版-VideoIntroductionClipCut视频介绍混剪
  • Nacos与Eureka的区别:深入解析微服务中的服务注册与发现
  • npm切换为淘宝镜像源
  • GPU加速生物信息分析的尝试
  • 数据结构之存储位置
  • AIGC专栏15——CogVideoX-Fun详解 支持图文生视频 拓展CogVideoX到256~1024任意分辨率生成
  • Web_php_include 攻防世界
  • C++20 std::format