Leetcode Hot 100刷题记录 -Day14(矩阵置0)

矩阵置0

问题描述:

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

思路分析:

        先第一次扫描数组,找到为0的元素,然后将其所在的行和列进行标记(boolean true为0);再次扫描数组,将标记为true的数组元素置为0。

//提交版
class Solution {public int[][] setZeroes(int[][] matrix) {//矩阵的行数int m = matrix.length;//矩阵的列数int n = matrix[0].length;boolean[] row = new boolean[m];boolean[] col = new boolean[n];for (int i = 0; i < m; i++) {for (int j = 0; j < n; j++) {if (matrix[i][j] == 0) {row[i] = true;col[j] = true;}}}for (int k = 0; k < m; k++) {for (int l = 0; l < n; l++) {if (row[k] || col[l]) {matrix[k][l] = 0;}}}return matrix;}
}//带有输入输出版本
import java.util.Arrays;public class hot15_setZeroes {public int[][] setZeroes(int[][] matrix) {//矩阵的行数int m = matrix.length;//矩阵的列数int n = matrix[0].length;boolean[] row = new boolean[m];boolean[] col = new boolean[n];for (int i = 0; i < m; i++) {for (int j = 0; j < n; j++) {if (matrix[i][j] == 0) {row[i] = true;col[j] = true;}}}for (int k = 0; k < m; k++) {for (int l = 0; l < n; l++) {if (row[k] || col[l]) {matrix[k][l] = 0;}}}return matrix;}public static void main(String[] args){int[][] matrix = {{1,1,1},{1,0,1},{1,1,1}};System.out.println("输入:" + Arrays.deepToString(matrix));hot15_setZeroes hot15SetZeroes = new hot15_setZeroes();int[][] result = hot15SetZeroes.setZeroes(matrix);System.out.println("输出:" + Arrays.deepToString(result));}
}

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

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

相关文章

在 Spring Boot 中使用 Spring Security + JWT + MySQL 实现基于 Token 的身份认证

文章目录 在 Spring Boot 中使用 Spring Security JWT MySQL 实现基于 Token 的身份认证一、引言二、环境搭建1、第一步&#xff1a;引入依赖2、第二步&#xff1a;配置MySQL数据库 三、实现身份认证三、实现身份认证1、定义实体和数据访问层1.1、实体类定义1.2、数据访问层 …

华为OD机试 - 端口合并(Python/JS/C/C++ 2024 E卷 100分)

华为OD机试 2024E卷题库疯狂收录中&#xff0c;刷题点这里 专栏导读 本专栏收录于《华为OD机试真题&#xff08;Python/JS/C/C&#xff09;》。 刷的越多&#xff0c;抽中的概率越大&#xff0c;私信哪吒&#xff0c;备注华为OD&#xff0c;加入华为OD刷题交流群&#xff0c;…

Web后端服务平台解析漏洞与修复、文件包含漏洞详解

免责申明 本文仅是用于学习检测自己搭建的Web后端服务平台解析漏洞、文件包含漏洞的相关原理,请勿用在非法途径上,若将其用于非法目的,所造成的一切后果由您自行承担,产生的一切风险和后果与笔者无关;本文开始前请认真详细学习《‌中华人民共和国网络安全法》‌及其所在国…

mysql怎样优化count(*) from 表名 where …… or ……这种慢sql

一 问题描述 线上发现一条类似这样的慢sql&#xff08;查询时长8s&#xff09;&#xff1a; select id,name,(select count(*) from t14 where t14.idt15.id or t14.id2t15.id) as cnt from t15 ; t14的id和id2字段上都有索引&#xff0c;但是因为条件里有or&#xff0c;导致…

电路设计学习(一)

FUSB302BUCX 可编程 USB Type-C 控制器&#xff0c;带 PD&#xff08;默认 SNK&#xff09; FUSB302BUCX 是一款由 ON Semiconductor 生产的 USB Type-C 控制器&#xff0c;用于实现 USB Type-C 和 USB Power Delivery (PD) 协议。它主要负责 USB Type-C 端口的检测、CC 引脚…

GESP C++二级样题卷

一、单选题&#xff08;每题 2 分&#xff0c;共 30 分&#xff09; 1.目前主流的计算机储存数据最终都是转换成&#xff08; &#xff09;数据进行储存。 ​ A&#xff0e;二进制 ​ B&#xff0e;十进制 ​ C&#xff0e; 八进制 ​ D&#xff0e;十六进制 2.已知大写字…

结构开发笔记(八):solidworks软件(七):装配图中让摄像头绕轴旋转起来

若该文为原创文章&#xff0c;转载请注明原文出处 本文章博客地址&#xff1a;https://hpzwl.blog.csdn.net/article/details/142176639 长沙红胖子Qt&#xff08;长沙创微智科&#xff09;博文大全&#xff1a;开发技术集合&#xff08;包含Qt实用技术、树莓派、三维、OpenCV…

量化交易backtrader实践(二)_基础加强篇(3)_策略类实践进阶

通过前面几节的实践&#xff0c;我们已经对股票数据的获取&#xff0c;pandasData数据的格式处理&#xff0c;到bactrader的DATAS结构以及里面的data的数据结构&#xff0c;以及在init和next函数中如何读取和计算都有了比较清晰的认知。我们通过一个最简的回测系统&#xff0c;…

Java 读取特定目录下子文件夹的 json格式文件并解析

一、需求   有一个目录结构&#xff0c;包含多个子文件夹&#xff0c;每个子文件夹中都有一个名为goods.txt的文件&#xff0c;文件内容以 JSON 格式存储。现在需要将所有的goods.txt文件内容读取出来&#xff0c;放在一个List集合中&#xff0c;以便进行后续的处理。 二、使…

Pre-training、Post-training、Continue training的区别

在训练大语言模型时&#xff0c;大家可能会搞混以下几个概念&#xff0c;下面做一个详细的对比区分&#xff1a; 概念Pre-training&#xff08;预训练&#xff09;Post-training&#xff08;后训练&#xff09;Continue Training&#xff08;持续训练&#xff09;定义预训练是…

C# 结合 Javascript 测试获取天气信息

目录 测试效果 范例运行环境 关键代码 C#获取网页数据 前端代码 JavaScript 实现 总结 测试效果 获取一些简单的天气信息&#xff0c;可以丰富我们的应用系统&#xff0c;比如开发一个小桌面&#xff0c;小组件&#xff0c;增加一些实用性的系统功能&#xff0c;本文将…

pip清华源地址

一、pip清华源地址 https://pypi.tuna.tsinghua.edu.cn/simple 二、清华源使用方法 pip install package_name -i https://pypi.tuna.tsinghua.edu.cn/simple 三、将清华源设置为默认源&#xff1a; pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/si…

neo4j安装为服务+配置环境变量

目录 neo4j安装为服务 windows services 参照JDK&#xff0c;将neo4j加入到环境变量 neo4j安装为服务 windows services 我的上一篇文章详细写明了如何安装启动neo4j《neo4j安装启动教程对应的jdk配置》&#xff0c;文末的启动neo4j是通过cmd命令行访问bin目录&#xff0c;这…

Git+Jenkins 基本使用(Basic Usage of Git+Jenkins)

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:Linux运维老纪的首页…

Java企业面试题2

1.语言的分代&#xff1a; 第1代&#xff1a;机器语言 机器语言是最底层的计算机编程语言&#xff0c;它是由二进制数构成的一系列指令&#xff0c;直接与计算机硬件交互。每个二进制位模式代表一条特定的指令或数据地址。因为它是直接在硬件上执行的&#xff0c;所以运行效率…

大尺寸卷积核的优缺点

大尺寸卷积核在卷积神经网络中具有一些独特的优缺点&#xff0c;具体如下&#xff1a; 优点&#xff1a; 更大的感受野&#xff1a; 大尺寸卷积核能够捕获更大的上下文信息&#xff0c;拥有更广的感受野。它可以一次性处理更大区域的特征信息&#xff0c;尤其在处理复杂的视觉…

诚邀见证2024九章云极DataCanvas算力包产品发布会!

算力&#xff0c;是驱动全球智能化升级的关键力量&#xff0c;也是智算经济腾飞的主要燃料。 在智算经济腾起之际&#xff0c;我们洞察未来:算力不仅是生产力还将作为社会性普惠AI资源。我们思考未来:算力产品和模式需要何种创新才能够加速算力普惠的进程?我们定义未来:用单位…

react学习笔记一:react介绍

将view规划成一个个的组件&#xff0c;是一个响应式的声明式的设计。 虚拟dom&#xff0c;减少dom操作。vue的虚拟dom是在react的基础上拓展来的。 单向数据流&#xff1a;是一种数据流动的模式。数据流的方向是有上到下的&#xff0c;在react中主要是从父组件流向子组件。 …

Python基础(九)——正则表达式

6.正则表达式 &#xff08;1&#xff09;基础匹配 使用re模块 match方法&#xff1a; re.match(匹配规则&#xff0c;被匹配字符串) 从被匹配字符串开头进行匹配&#xff0c;成功则返回匹配对象包含的信息&#xff0c;失败则返回None。 s "today is a beautiful da…

计算机毕业设计 基于SpringBoot框架的网上蛋糕销售系统的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍&#xff1a;✌从事软件开发10年之余&#xff0c;专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精…