面试金典题8

devtools/2024/9/23 5:55:15/

编写一种算法,若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++){//若该元素所属列或行被标记,则赋值为0if(row[i]||col[j]){matrix[i][j]=0;}}}}
};


http://www.ppmy.cn/devtools/115841.html

相关文章

828华为云征文|Flexus云服务器X实例部署宝塔运维面板

本次华为云Flexus云服务器X实例部署宝塔运维面板教学&#xff0c;这次是推陈出新啊 之前的云耀云服务器L实例已经很不错了&#xff0c;大力赞叹华为云的 同时感谢华为云提供优惠卷&#xff0c;只能说白嫖真是太棒了 华为云近期正在筹办华为云828企业节活动&#xff0c;90款免…

ubuntu22.04安装在触摸屏的电脑上,屏幕乱动的问题

要获取触摸屏设备的名称&#xff0c;您可以通过 xinput 命令查看设备列表&#xff0c;并从中识别出触摸屏的名称。以下是获取设备名称的步骤&#xff1a; 1. 使用 xinput list 命令获取设备列表 在终端中运行以下命令&#xff1a; xinput list这会列出所有输入设备。输出中会…

wordpress迁移到别的服务器

wordpress论坛网站搭建 于2023/11/16写的该文章 一-配置环境 配置LNMP&#xff08;linuxnginxmysqlphpphpmyadmin&#xff09;环境或者LAMP&#xff08;apache&#xff09; 可以选择集成了这些软件的套件 下载链接&#xff1a;https://www.xp.cn/download.html 手动下载这…

408算法题leetcode--第12天

19. 删除链表的倒数第 N 个结点 19. 删除链表的倒数第 N 个结点思路&#xff1a;注释中时间&#xff1a;O(n)&#xff1b;空间&#xff1a;O(1) /*** Definition for singly-linked list.* struct ListNode {* int val;* ListNode *next;* ListNode() : val(0), …

python新手的五个练习题

代码 # 1. 定义一个变量my_Number,将其设置为你的学号&#xff0c;然后输出到终端。 my_Number "20240001" # 假设你的学号是20240001 print("学号:", my_Number) # 2. 计算并输出到终端:两个数(例如3和5)的和、差、乘积和商。 num1 3 num2 5 print(&…

前端vue3打印,多页打印,不使用插件(工作中让我写一个打印功能)

说下总体思路&#xff0c;创建一个组件&#xff0c;里面放多个span字段&#xff0c;然后根据父组件传入的参数&#xff0c;生成子组件&#xff0c;最好我们打印子组件的信息即可。通过我多次ai&#xff0c;探索最后成功了。 子组件代码 media print 这个我要讲一下&#xff…

Flask常用案例详解:从基础到进阶

Flask是一个轻量级的Python Web框架,以其简洁和灵活著称。本文将通过多个实际案例,从基础到进阶,全面介绍Flask的使用。每个案例都包含完整的代码,您可以直接运行和修改。 © ivwdcwso (ID: u012172506) 1. 基本的Flask应用 让我们从最简单的Flask应用开始: from f…

C++: 两个栈实现队列

解题思路 栈&#xff0c;一个口&#xff0c;先进后出&#xff1b;队列&#xff0c;两个口&#xff0c;先进先出&#xff1b; 两个栈就有两个口&#xff0c;一个当入口&#xff0c;另一个当出口 当stack2为空&#xff0c;将stack1元素push到stack2&#xff0c;再pop stack2 ; 当…