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

leetcode-73.矩阵置零-day5

class Solution {public void setZeroes(int[][] mat) {int m = mat.length, n = mat[0].length;// 1. 扫描「首行」和「首列」记录「首行」和「首列」是否该被置零boolean r0 = false, c0 = false;for (int i = 0; i < m; i++) {if (mat[i][0] == 0) {r0 = true;break;}}for (int j = 0; j < n; j++) {if (mat[0][j] == 0) {c0 = true;break;}}// 2.1 扫描「非首行首列」的位置,如果发现零,将需要置零的信息存储到该行的「最左方」和「最上方」的格子内for (int i = 1; i < m; i++) {for (int j = 1; j < n; j++) {if (mat[i][j] == 0) mat[i][0] = mat[0][j] = 0;}}// 2.2 根据刚刚记录在「最左方」和「最上方」格子内的置零信息,进行「非首行首列」置零for (int j = 1; j < n; j++) {if (mat[0][j] == 0) {for (int i = 1; i < m; i++) mat[i][j] = 0;}}for (int i = 1; i < m; i++) {if (mat[i][0] == 0) Arrays.fill(mat[i], 0);}// 3. 根据最开始记录的「首行」和「首列」信息,进行「首行首列」置零if (r0) for (int i = 0; i < m; i++) mat[i][0] = 0;if (c0) Arrays.fill(mat[0], 0);}
}

 自己实现:

public void setZeroes(int[][] matrix) {/*思路:* 1.如果先操作前面的元素则会对后面元素覆盖从而造成影响,则可以考虑存储。* 2.采取原地O(1)操作,则可以考虑存储到行首和列首* 3.特殊情况,只有一行或一列* 4.注意[0][0]这个相交位置* */boolean rowHead = false;boolean columnHead = false;int r = matrix.length;int c = matrix[0].length;for (int i = 0; i < r; i++) {if (matrix[i][0] == 0) {rowHead = true;}}for (int i = 0; i < c; i++) {if (matrix[0][i] == 0) {columnHead = true;}}//要考虑特殊情况if(r>=2&&c>=2){for (int i = 0; i < r; i++) {for (int j = 1; j < c; j++) {if(matrix[i][j]==0){matrix[i][0]=0;matrix[0][j]=0;}}}}//注意开始扫描行首和列首时,i,j应该从1开始,不然会影响后续判断(跳过[0][0])for (int j = 1; j < c; j++) {if(matrix[0][j]==0){for (int i = 0; i < r; i++) {matrix[i][j]=0;}}}for (int i = 1; i < r; i++) {if(matrix[i][0]==0){for (int j = 0; j < c; j++) {matrix[i][j]=0;}}}if(rowHead){for (int i = 0; i < r; i++) {matrix[i][0]=0;}}if(columnHead){for (int i = 0; i < c; i++) {matrix[0][i]=0;}}}

相关文章:

leetcode-73.矩阵置零-day5

class Solution {public void setZeroes(int[][] mat) {int m mat.length, n mat[0].length;// 1. 扫描「首行」和「首列」记录「首行」和「首列」是否该被置零boolean r0 false, c0 false;for (int i 0; i < m; i) {if (mat[i][0] 0) {r0 true;break;}}for (int j …...

CSS学习记录13

CSS组合器 组合器是解释选择器之间关系的某种机制。CSS选择器可以包含多个简单选择器。在简单选择器之间&#xff0c;我们可以包含一个组合器。 CSS中有四种不同的组合器&#xff1a; 后代组合器&#xff08;空格&#xff09;子选择器&#xff08;>)相邻兄弟选择器&#…...

CAD图纸加密软件哪个最好用 | 安全可靠的解决方案

CAD图纸加密软件哪个最好用 | 安全可靠的解决方案 图纸文件泄密事件频发&#xff0c;给企业带来了严重的商业损失、技术秘密泄露、公共安全威胁以及信誉损害。 为了应对这一挑战&#xff0c;选择一款既安全可靠又易于使用的CAD图纸加密软件显得尤为重要。 在众多加密软件中&a…...

基于SSM+Vue的宠物医院管理系统

作者&#xff1a;计算机学姐 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等&#xff0c;“文末源码”。 专栏推荐&#xff1a;前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码、微信小程序源码 精品专栏&#xff1a;…...

处理VUE框架中,ElementUI控件u-table空值排序问题

按照以下步骤进行操作&#xff1a; 分离数据&#xff1a;首先&#xff0c;将原始数据按照username为空和非空进行分类。对非空表进行排序&#xff1a;对非空表按照username进行升序排序。合并表格&#xff1a;将空表和排序后的非空表合并&#xff0c;保证空表挂接在排序后的非…...

专业140+总分400+北京理工大学826信号处理导论考研经验北理工电子信息与通信工程,真题,大纲,参考书。

考研总分400&#xff0c;专业826信号处理导论&#xff08;信号与系统和dsp&#xff09;140&#xff0c;成功上岸北理工&#xff0c;虽然已经一段时间&#xff0c;但是后劲很大&#xff0c;每每回想还是昨日事&#xff0c;群里同学多次要求分享自己的一些经验&#xff0c;感谢大…...

Rocky DEM tutorial5_Drop Weight test_落锤试验

tutorial5_Drop Weight test_落锤实验 文章目录 tutorial5_Drop Weight test_落锤实验0. 目的1. 模型介绍2. 模型设置2.1 设置Physics2.2 导入几何2.3 定义进口面2.4 设置motion frames2.5 设置边界条件2.6 设置材料2.7 设置 materials interactions2.8 设置 Particles2.9 设置…...

C#,在 C# 语言中将 LaTeX 转换为 PNG 或 JPG 图像

在 C 语言中将 LaTeX 转换为 PNG 或 JPG 图像# 12月 28&#xff0c; 2021 2 分钟 法尔汉拉扎 在 C 语言中将 TeX 转换为 PNG JPG 图像# TeX 格式用于处理技术和科学文件。它通常用于交流或发布此类文档。在某些情况下&#xff0c;您可能需要将 TeX 文件渲染为 PNG 或 JPG 等图像…...

Elasticsearch:Mapping-映射

一、创建索引 自动生成索引字段数据类型即自动映射 创建之前&#xff0c;先删除索引防止重复创建 删除索引: DELETE product_mapping创建索引 product_mapping并且赋值 PUT /product_mapping/_doc/1 {"name": "xiaomi phone","desc": "s…...

安装Tensorflow@FreeBSD(失败)

pkg 安装&#xff0c;失败&#xff0c;找不到:pkg: No packages available to install matching science/py-tensorflow have been found in the repositories ports安装 cd /usr/ports/science/py-tensorflow make install 报错: 按照提示重新发命令 make DISABLE_VULNERA…...

API接口示例:电商商品评论数据

当然&#xff0c;以下是一个简化的电商商品评论数据API接口的示例。请注意&#xff0c;这只是一个示例&#xff0c;实际的API接口可能会更加复杂&#xff0c;并且会包含更多的验证、错误处理和安全措施。 API接口示例&#xff1a;电商商品评论数据 基础信息 API名称&#xf…...

使用idea创建一个JAVA WEB项目

文章目录 1. javaweb项目简介2. 创建2.1 idea新建项目2.2 选择&#xff0c;命名2.3 打开2.4 选择tomcat运行2.5 结果 3. 总结 1. javaweb项目简介 JavaWeb项目是一种基于Java技术的Web应用程序&#xff0c;主要用于开发动态网页和Web服务。这种项目能够构建在Java技术栈之上&a…...

解决MyBatis在 Oracle 中使用 IN 语句不能超过 1000 问题

在 Oracle 数据库中&#xff0c;IN 语句常用于查询某个字段是否属于一组特定的值。对于大多数开发者而言&#xff0c;IN 是一种简单直观的查询方式&#xff0c;能够提升开发效率&#xff0c;避免过多的 OR 语句。然而&#xff0c;许多人在使用 IN 语句时可能遇到一个问题&#…...

最长递增子序列两种算法实现(动态规划,二分查找)

恭喜你刷到博主 DP 经典题目详解部分第一期&#xff0c;想学好 DP 请关注订阅&#xff0c;会持续更新&#xff01;&#xff01;&#xff01;&#xff01;&#xff01; 建议先阅读DP算法入门 00001 最长递增子序列&#xff08;Longest Increasing Subsequence&#xff0c;简写…...

Deepmotion技术浅析(三):特征提取

DeepMotion 的特征提取模块是整个动作捕捉和 3D 追踪流程的基础&#xff0c;负责从输入的视频帧中提取出具有代表性的视觉特征。这些特征将被用于人体姿态估计、动作识别、3D 重建等后续任务。 包括&#xff1a; 1.图像特征提取 卷积神经网络&#xff08;CNN&#xff09; 卷…...

国内CentOS使用yum安装docker和docker-compose

安装docker 安装需要的软件包&#xff0c; yum-util 提供yum-config-manager功能&#xff0c;另两个是devicemapper驱动依赖 yum install -y yum-utils device-mapper-persistent-data lvm2下载yum源采用阿里云的镜像源 wget -O /etc/yum.repos.d/docker-ce.repo https://mi…...

python学opencv|读取图像(十三)BGR图像和HSV图像互相转换深入

【1】引言 前序学习过程中&#xff0c;我们偶然发现&#xff1a;如果原始图像是png格式&#xff0c;将其从BGR转向HSV&#xff0c;再从HSV转回BGR后&#xff0c;图像的效果要好于JPG格式。 文章链接为&#xff1a; python学opencv|读取图像&#xff08;十二&#xff09;BGR图…...

【鸿蒙实战开发】数据的下拉刷新与上拉加载

本章介绍 本章主要介绍 ArkUI 开发中最常用的场景下拉刷新, 上拉加载&#xff0c;在本章中介绍的内容在实际开发过程当中会高频的使用,所以同学们要牢记本章的内容。下面就让我们开始今天的讲解吧&#xff01; List 组件 在 ArkUI 中List容器组件也可以实现数据滚动的效果&a…...

面向对象设计规则和各类设计模式

面向对象设计&#xff08;Object-Oriented Design, OOD&#xff09;是一种软件设计方法论&#xff0c;它使用对象、类、继承、封装、多态等概念来组织代码。面向对象设计的核心目标是提高软件的可维护性、可扩展性和复用性。在面向对象设计中&#xff0c;遵循一定的设计原则和模…...

《拉依达的嵌入式\驱动面试宝典》—C/CPP基础篇(六)

《拉依达的嵌入式\驱动面试宝典》—C/CPP基础篇(六) 你好,我是拉依达。 感谢所有阅读关注我的同学支持,目前博客累计阅读 27w,关注1.5w人。其中博客《最全Linux驱动开发全流程详细解析(持续更新)-CSDN博客》已经是 Linux驱动 相关内容搜索的推荐首位,感谢大家支持。 《拉…...

深度解析游戏资源加密机制:构建安全增强模块的完整实现

深度解析游戏资源加密机制&#xff1a;构建安全增强模块的完整实现 【免费下载链接】wuwa-mod Wuthering Waves pak mods 项目地址: https://gitcode.com/GitHub_Trending/wu/wuwa-mod WuWa-Mod作为《鸣潮》(Wuthering Waves)游戏模组开发项目&#xff0c;通过AES加密解…...

魔兽争霸3终极优化指南:5个简单步骤让经典游戏在现代系统上完美运行

魔兽争霸3终极优化指南&#xff1a;5个简单步骤让经典游戏在现代系统上完美运行 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 还在为魔兽争霸3在Win…...

Scarab终极教程:2024年最完整的空洞骑士模组管理器使用指南

Scarab终极教程&#xff1a;2024年最完整的空洞骑士模组管理器使用指南 【免费下载链接】Scarab An installer for Hollow Knight mods written with Avalonia. 项目地址: https://gitcode.com/gh_mirrors/sc/Scarab 还在为空洞骑士模组安装而烦恼吗&#xff1f;Scarab模…...

作业5:案例挑战

文章目录1、密码锁设计 P110&#xff0c;2、基于PWM的可调光台灯设计 P131&#xff0c;3、动态密码获取系统设计 P210&#xff0c;效果(1) 密码模式说明(2) 测试密码输入(3) 测试修改密码(4) 测试修改密码模式4、数码管时钟系统设计 P228&#xff0c;7.5.2 数码管时钟系统设计&…...

老旧小区门禁改造:业主权益与合规指引

一、费用来源与使用规范小区门禁改造并非全部由业主自费承担&#xff0c;可按合规渠道统筹资金&#xff0c;优先使用公共补贴与专项维修资金。资金使用优先级&#xff1a;政府老旧小区改造财政补贴&#xff1e;住宅专项维修资金&#xff1e;业主自筹财政补贴&#xff1a;老旧小…...

Unity动态设置Layer与摄像机屏蔽的完整闭环方案

1. 这不是“加个Layer”那么简单&#xff1a;为什么动态设置Layer常被误用却没人深究在Unity项目里&#xff0c;我见过太多人把“给GameObject动态设置Layer”当成一个随手就能调用的API——go.layer 12;&#xff0c;敲完回车&#xff0c;心里就默认“好了”。结果跑起来发现&…...

字体反爬破解实战:解析WOFF2 cmap表还原数字映射

1. 这不是字体文件&#xff0c;是藏在CSS里的“密码本”你打开浏览器开发者工具&#xff0c;切到Network标签页&#xff0c;刷新页面&#xff0c;一眼扫过去——几十个请求里&#xff0c;唯独那个fonts.woff2的响应体大小异常&#xff1a;明明只是显示几个数字&#xff0c;却加…...

仅剩最后47个印尼语专属Voice ID配额!ElevenLabs企业版印尼语音定制通道即将关闭——附2024Q3合规接入白皮书

更多请点击&#xff1a; https://codechina.net 第一章&#xff1a;印尼语Voice ID配额告急与企业定制通道关闭预警 近期&#xff0c;多家使用印尼语&#xff08;Bahasa Indonesia&#xff09;语音身份验证&#xff08;Voice ID&#xff09;服务的企业客户收到平台侧自动通知&…...

2026年必看:六款热门AI编程工具横评,Trae与Cursor怎么选

2026年必看&#xff1a;六款热门AI编程工具横评&#xff0c;Trae与Cursor怎么选AI编程工具正从辅助插件进化为全流程开发核心&#xff0c;2026年市场进入智能体协作新阶段。本文精选6款主流AI编程工具&#xff0c;从核心功能、协作模式、适配场景等维度深度解析&#xff0c;帮开…...

企业AI合规:数据安全生死线

企业大模型应用中的数据安全合规体系建设 前言&#xff1a;数据安全合规——企业AI落地的必答题 一、合规风险识别与关键挑战 二、技术架构设计与安全合规方案 针对上述四大风险挑战&#xff0c;企业需要从技术架构层面构建纵深防御体系。以下从数据脱敏、访问控制、日志审计、…...