leetcode 73. 矩阵置零

题目如下
在这里插入图片描述

数据范围
在这里插入图片描述

如果一个点m(i,j) == 0其中i j都大于0那么按照题目要求对应的m[0][j] m[i][0]都要赋值为0.
所以我们可以令第一行和第一列作为标记是否对应的列和行需要置为0.
又因为我们没法判断第一行和第一列所以需要额外两个变量标记第一列和第二列。
这样就可以满足题目要求的O(1)空间复杂度

通过代码

class Solution {
public:void setZeroes(vector<vector<int>>& matrix) {bool r = false, c = false;int n = matrix.size();int m = matrix[0].size();for (int i = 0; i < n; i++) {if (matrix[i][0] == 0) {c = true;break;}}for (int i = 0; i < m; i++) {if (matrix[0][i] == 0) {r = true;break;}}for (int i = 1; i < n; i++) {for (int j = 1; j < m; j++) {if (matrix[i][j] == 0) {matrix[0][j] = 0;matrix[i][0] = 0;}}}for (int i = 1; i < n; i++) {for (int j = 1; j < m; j++) {if (!matrix[i][0] || !matrix[0][j]) {matrix[i][j] = 0;}}}if (r) {for (int i = 0; i < m; i++) {matrix[0][i] = 0;}}if (c) {for (int i = 0; i < n; i++) {matrix[i][0] = 0;}}}
};

在这里插入图片描述

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

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

相关文章

deepseek-r1-centos-本地服务器配置方法

参考&#xff1a; 纯小白 Centos 部署DeepSeek指南_centos部署deepseek-CSDN博客 https://blog.csdn.net/xingxin550/article/details/145574080 手把手教大家如何在Centos7系统中安装Deepseek&#xff0c;一文搞定_centos部署deepseek-CSDN博客 https://blog.csdn.net/soso67…

机器学习:强化学习的epsilon贪心算法

强化学习&#xff08;Reinforcement Learning, RL&#xff09;是一种机器学习方法&#xff0c;旨在通过与环境交互&#xff0c;使智能体&#xff08;Agent&#xff09;学习如何采取最优行动&#xff0c;以最大化某种累积奖励。它与监督学习和无监督学习不同&#xff0c;强调试错…

比创达电子科技-EMC干货之防静电技术

EMC干货之防静电技术 什么是静电放电 两个具有不同静电电位的物体&#xff0c;由于直接接触或静电场感应引起两物体间的静电电荷的转移,静电电场的能量达到一定程度后&#xff0c;击穿其间介质而进行放电的现象就是静电放电,简称为ESD(Electro Static Discharge)。 静电产生的原…

JavaWeb-ServletContext应用域接口

文章目录 ServletContext接口简介获取一个ServletContext对象ServletContext接口中的相关方法获取应用域配置参数关于应用域参数的配置要求getContextPath获取项目路径getRealPath获取真实路径log系列方法添加相关日志增删查应用域属性 ServletContext接口简介 ServletContext…

C语言(15)-------------->一维数组

这篇文章介绍的是数组的定义、创建、初始化、使用&#xff0c;在数组中输入内容并输出数组中的内容&#xff0c;并探讨了数组在内存中的存储。里面有些内容建议大家参考下面的一些文章&#xff0c;有助于加深大家对于C语言的理解&#xff1a; C语言&#xff08;2&#xff09;-…

AI学习第六天-python的基础使用-趣味图形

在 Python 编程学习过程中&#xff0c;turtle库是一个非常有趣且实用的工具&#xff0c;它可以帮助我们轻松绘制各种图形。结合for循环、random模块以及自定义方法等知识点&#xff0c;能够创作出丰富多彩的图案。下面就来分享一下相关的学习笔记。 一、基础知识点回顾 &…

线程安全问题

线程安全问题是指在多线程环境下&#xff0c;当多个线程同时访问共享资源时&#xff0c;可能出现的错误或不可预测的行为。以下是对其的理解&#xff1a; 1. 根本原因 线程安全问题的根本原因是多个线程对共享资源的并发访问。如果多个线程对共享资源进行读写操作&#xff0c…

ubuntu终端指令集 shell编程基础(一)

磁盘指令 连接与查看&#xff1a;磁盘与 Ubuntu 有两种连接方式&#xff1b;使用ls /dev/sd*查看是否连接成功&#xff0c;通过df系列指令查看磁盘使用信息。若 U 盘已挂载&#xff0c;相关操作可能失败&#xff0c;需用umount取消挂载。磁盘操作&#xff1a;使用sudo fdisk 磁…

第十四届蓝桥杯Scratch11月stema选拔赛真题——小猫照镜子

编程实现&#xff1a; 小猫照镜子。(背景非源素材) 具体要求&#xff1a; 1). 运行程序&#xff0c;角色、背景如图所示&#xff1b; 完整题目可点击下方链接查看&#xff0c;支持在线编程~ 小猫照镜子_scratch_少儿编程题库学习中心-嗨信奥https://www.hixinao.com/tiku/s…

Sublime Text4安装、汉化

-------------2025-02-22可用---------------------- 官方网址下载&#xff1a;https://www.sublimetext.com 打开https://hexed.it 点击打开文件找到软件安装目录下的 ctrlf 查找 8079 0500 0f94 c2右边启用替换替换为:c641 0501 b200 90点击替换按钮 替换完成后 另存为本地…

C++20的指定初始化器(Designated Initializers)

文章目录 指定初始化器的使用条件语法嵌套结构体的初始化数组的指定初始化注意事项优势 C20引入了**指定初始化器&#xff08;Designated Initializers&#xff09;**这一特性&#xff0c;允许在初始化结构体、联合体或类的对象时&#xff0c;明确指定成员变量的初始化值&#…

Redis安装及其AnotherRedisDesktopManagera安装使用

一、Redis安装 1. 下载Redis安装包 通过网盘分享的文件&#xff1a;Redis 链接: https://pan.baidu.com/s/1elAT8mk3EIoYQQ3WoVVoNg?pwd7yrz 提取码: 7yrz 2. 解压Redis安装包 下载完成后&#xff0c;将Redis安装包解压到一个指定的目录&#xff0c;例如&#xff1a;C:\Re…

51c嵌入式~电路~合集13

我自己的原文哦~ https://blog.51cto.com/whaosoft/12317946 一、造成PCB焊接缺陷的原因 电路板孔可焊性不好&#xff0c;将会产生虚焊缺陷&#xff0c;影响电路中元件的参数&#xff0c;导致多层板元器件和内层线导通不稳定&#xff0c;引起整个电路功能失效。 所谓可焊性…

Lindorm作为AI搜索基础设施,助力Kimi智能助手升级搜索体验

Kimi智能助手开启“长文本”时代&#xff0c;K系列强化学习模型持续进化中 2023年10月&#xff0c;月之暗面&#xff08;Moonshot AI&#xff09;旗下的Kimi智能助手&#xff0c;带着支持输入20万汉字的能力正式发布&#xff0c;提升了全球市场上产品化大模型服务支持的上下文输…

图数据库 | 24、如何进行正确性验证?

图数据库计算和查询结果的正确性&#xff0c;这个重要性当然是不言而喻的&#xff01; 老夫之前也写文章讲过&#xff0c;今天再手书一篇&#xff0c;旨在向大家系统地介绍一下图数据库查询与计算到底如何进行正确性验证&#xff01;&#xff01;&#xff01; 图数据库中的操…

【二分查找 图论】P8794 [蓝桥杯 2022 国 A] 环境治理|普及

本文涉及的基础知识点 本博文代码打包下载 C二分查找 C图论 [蓝桥杯 2022 国 A] 环境治理 题目描述 LQ 国拥有 n n n 个城市&#xff0c;从 0 0 0 到 n − 1 n - 1 n−1 编号&#xff0c;这 n n n 个城市两两之间都有且仅有一条双向道路连接&#xff0c;这意味着任意两…

vue写一个登录页面

目录 一、安装ui库二、路由跳转三、页面 一、安装ui库 element plus库 Element Plus 是 Element UI 的升级版本&#xff0c;专为 Vue 3.x 设计。它继承了 Element UI 的优秀特性&#xff0c;同时针对 Vue 3 的新特性&#xff08;如 Composition API、Teleport 等&#xff09;进…

和鲸科技携手四川气象,以 AI 的力量赋能四川气象一体化平台建设

气象领域与农业、能源、交通、环境科学等国计民生关键领域紧密相连&#xff0c;发挥着不可替代的重要作用。人工智能技术的迅猛发展&#xff0c;为气象领域突破困境带来了新的契机。AI 技术能够深度挖掘气象大数据中蕴含的复杂信息&#xff0c;助力人类更精准地把握自然规律&am…

Ubuntu下QT安装和调试的常见问题(一)__could_not_dertermine_which_make

前言 Ubuntu下QT的安装会有一些奇怪的问题出现&#xff0c;并没有像Windows下Visual Studio的安装那么直接就可以使用那么方便&#xff0c;本文就“make”挂接的问题&#xff0c;给出一些小的感受。 1、问题的提出 很多问题的解答&#xff0c;AI无论是上文心一言&#xff0c;还…

C# httpclient 和 Flurl.Http 的测试

关于C#调用接口或Post,Flurl封装了httpclient, CSDN有哥们提供了一个公网的测试网站&#xff0c;可以测试Post调用&#xff0c;我写了2个函数&#xff0c;测试httpclient和Flurl使用Post: async 和 await 是成对使用的&#xff0c;为了接受web异步返回的数据&#xff0c;winfor…