73.矩阵置零

·题目描述

·解题思路

——————初步思路,暴力求解——————

1.遍历原矩阵,记录0位置的行列值,存入数组flags中,作为标志

2.读取flags中的元素,获取要置为0的行列值,然后两个循环将matrix中的对应元素置为0

代码:

    def setZeroes(self, matrix):#时间复杂度O(mn^2),空间复杂度o(mn)row = len(matrix)col = len(matrix[0])flags = []for i in range(row):for j in range(col):if matrix[i][j] == 0:res = [i,j]flags.append(res)for flag in flags:r,c = flag[0],flag[1]for i in range(row):matrix[i][c] =0for j in range(col):matrix[r][j] = 0return matrix

——————改进优化,使用哈希表——————

1.将原始需要记录行列的数组flags改为两个哈希表row和col

2.遍历矩阵将0位子的行列分别存入哈希表中

3.循环置为0

代码:

    def setZeroes(self, matrix):# 时间复杂度O(mn) 空间复杂度O(m+n)row_num = len(matrix)col_num = len(matrix[0]) if row_num > 0 else 0row = set()col = set()for i in range(row_num):for j in range(col_num):if matrix[i][j] == 0:row.add(i)col.add(j)for i in range(row_num):for j in range(col_num):if i in row or j in col:matrix[i][j] = 0return matrix

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

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

相关文章

【代码】二分法求最小值

仅适用于以下情况:区间内单调或者最多一个极小值 代码 以[0,pi]内的三角函数为例 clc clear close allx0:pi/1000:pi; ytest(x); figure() plot(x,y,.)cutnum100;x1x(1); x2x(end); error_max10^-1000;%能接受的误差上限 for i1:cutnum%这里cutnum是取值上限num(…

电池二次利用走向可持续大循环周期的潜力和挑战(第一篇)

一、背景 当前,气候变化是全球可持续发展面临的重大挑战。缓解气候变化最具挑战性的目标是在本世纪中期实现碳中和(排放量低到足以被自然系统安全吸收),其中电动汽车(EV)的引入是一项关键举措。电动汽车在…

SSL根证书是什么

根证书是什么? 根证书是CA认证中心给自己颁发的证书,是信任链的起始点。安装根证书意味着对这个CA认证中心的信任。 从技术上讲,证书其实包含三部分,用户的信息,用户的公钥,还有CA中心对该证书里面的信息的签名&#…

对代理模式的理解

目录 一、前言二、案例1 代码2 自定义代理类【静态代理】2.1 一个接口多个实现,到底注入哪个依赖呢?2.1.1 Primary注解2.1.2 Resource注解(指定name属性)2.1.3 Qualifier注解 2.2 面向接口编程2.3 如果没接口咋办呢?2.…

替代安全指标(Surrogate Safety Measures (SSM) )

替代安全措施(Surrogate Safety Measures (SSM) )用于从数据中寻找接近碰撞,或可能发生(但实际没有发生)的碰撞事件。 SSM的两个合格标准: (1)它应该来自与碰撞直接相关的交通冲突&…

阿里巴巴中国站获得1688商品详情 API:如何通过API接口批量获取价格、标题、图片、库存等数据

在数字化时代,数据的重要性不言而喻。对于电商从业者来说,获取商品详情数据是提升业务效率和用户体验的关键。阿里巴巴中国站作为电商行业的巨头,提供了丰富的API接口,方便开发者们批量获取商品信息。本文将详细叙述如何通过阿里巴…

C语言——详解字符函数和字符串函数(二)

Hi,铁子们好呀!之前博主给大家简单地介绍了部分字符和字符串函数,那么这次,博主将会把这些字符串函数给大家依次讲完! 今天讲的具体内容如下: 文章目录 6.strcmp函数的使用及模拟实现6.1 strcmp函数介绍和基本使用6.1.1 strcmp函…

总结:微信小程序中跨组件的通信、状态管理的方案

在微信小程序中实现跨组件通信和状态管理,有以下几种主要方案: 事件机制 通过事件机制可以实现父子组件、兄弟组件的通信。 示例: 父组件向子组件传递数据: 父组件: <child binddata"handleChildData" /> 子组件: Component({..., methods: { handleChildData(…

Linux网卡与IP地址:通往网络世界的通行证

在探索Linux网卡和IP地址的关系之前&#xff0c;我们得先理解Linux网卡是怎么工作的。想象一下&#xff0c;每台计算机都是一个世界&#x1f30e;&#xff0c;而网卡就是连接这些世界的门户&#x1f6aa;。网卡的工作就是接收和发送数据包&#xff0c;就像邮差&#x1f4ec;递送…

RabbitMQ3.13.0起支持MQTT5.0协议及MQTT5.0特性功能列表

RabbitMQ3.13.0起支持MQTT5.0协议及MQTT5.0特性功能列表 文章目录 RabbitMQ3.13.0起支持MQTT5.0协议及MQTT5.0特性功能列表1. MQTT概览2. MQTT 5.0 特性1. 特性概要2. Docker中安装RabbitMQ及启用MQTT5.0协议 3. MQTT 5.0 功能列表1. 消息过期1. 描述2. 举例3. 实现 2. 订阅标识…

洛谷 1126.机器人搬重物

思路&#xff1a;BFS 这道BFS可谓是细节爆炸&#xff0c;对于编程能力和判断条件的能力的考察非常之大。 对于这道题&#xff0c;我们还需要额外考虑一些因素&#xff0c;那就是对于障碍物的考虑和机器人方位的考虑。 首先我们看第一个问题&#xff0c;就是对于障碍物的考虑…

linux命令学习(一)grep命令

–colorauto 或者 –color&#xff1a;表示对匹配到的文本着色显示 -i&#xff1a;在搜索的时候忽略大小写 -n&#xff1a;显示结果所在行号 -c&#xff1a;统计匹配到的行数&#xff0c;注意&#xff0c;是匹配到的总行数&#xff0c;不是匹配到的次数 -o&#xff1a;只显…

淘宝店商家电话提取软件操作经验

淘宝爬虫工具是一种用于自动化获取淘宝网站数据的程序。以下是一个简单的淘宝爬虫工具的代码示例&#xff1a; import requests from bs4 import BeautifulSoupdef get_taobao_data(keyword):url fhttps://s.taobao.com/search?q{keyword}headers {User-Agent: Mozilla/5.0…

【洛谷】P9236 [蓝桥杯 2023 省 A] 异或和之和

题目链接 P9236 [蓝桥杯 2023 省 A] 异或和之和 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 思路 1. 暴力求解 直接枚举出所有子数组&#xff0c;求每个子数组的异或和&#xff0c;再对所有的异或和求和 枚举所有子数组的时间复杂度为O&#xff08;N^2&#xff09;&…

AI技术创业机会之零售与电子商务

人工智能&#xff08;AI&#xff09;技术的创新与发展为零售与电子商务领域带来了深刻的变革&#xff0c;为创业者创造了丰富的创业机会。以下详述了零售与电子商务背景下AI技术的创业机会及其具体细节与内容&#xff0c;以5000字篇幅深入剖析各细分领域&#xff0c;为有志于投…

C++基础语法、算法、数据结构的简化总结

这里写目录标题 C基础语法变量与运算条件判断循环结构 数组和字符串一维数组二维数组字符串处理 函数与算法函数定义常用算法 数据结构链表与顺序表栈和队列树 计算机基础硬件组成数据单位进制转换 C知识点总结&#xff0c;适合六年级刚学C的学生&#xff1a; C基础语法 变量与…

Qt+OpenGL-part3

1-4EBO画矩形_哔哩哔哩_bilibili 可以绘制两个三角形来组成一个矩形&#xff08;OpenGL主要处理三角形&#xff09; 直接画两个三角形&#xff1a; #include "openglwidget.h" #include <QDebug>unsigned int VBO,VAO; unsigned int shaderProgram;//顶点着…

升级到springdoc的Swagger3

jdk 17、springboot3 依赖配置&#xff1a;就此一个依赖即可 <dependency><groupId>org.springdoc</groupId><artifactId>springdoc-openapi-starter-webmvc-ui</artifactId><version>2.5.0</version></dependency>Swagger2-…

Leetcode 215. 数组中的第K个最大元素

心路历程&#xff1a; 这道题本质上是排序不完全的过程&#xff0c;而且这道题有bug&#xff0c;直接用python的排序算法其实就能AC。 可以按照快排排到找到k-1个large元素的思维去做&#xff0c;不过这道题需要考虑空间复杂度&#xff0c;所以需要用指针快排。 其实也可以考虑…

序列超图的下一项推荐 笔记

1 Title Next-item Recommendation with Sequential Hypergraphs&#xff08;Jianling Wang、Kaize Ding、Liangjie Hong、Huan Liu、James Caverlee&#xff09;【SIGIR 2020】 2 Conclusion This study explores the dynamic meaning of items in realworld scenarios and p…