0073. 矩阵置零

73. 矩阵置零

  • 原题链接:
  • 完成情况:
  • 解题思路:
    • 解法一:构造一个同等规模的二维数组,即所谓的m*n
    • 解法二: int row[] = new int[m]; int col[] = new int[n];
    • 解法三:常数量级
  • 参考代码:

原题链接:

73. 矩阵置零

https://leetcode.cn/problems/set-matrix-zeroes/

完成情况:

在这里插入图片描述

解题思路:

解法一:构造一个同等规模的二维数组,即所谓的m*n

解法二: int row[] = new int[m]; int col[] = new int[n];

所谓m+n,则是你可以构建一个:
int row[] = new int[m];
int col[] = new int[n];
来记录哪几行,哪几列需要被设置成0

解法三:常数量级

即,你在二维数组中找到一个等于0的位置,用两个参数,row/col来记录他的位置,然后就和上面的解法二一样,只不过这次是将所有统计结果都记录到row/col这两个看似的一维数组中。

参考代码:

package 中等题;public class __73矩阵置零__普通版 {/**** @param matrix*/public void setZeroes(int[][] matrix) {int helper[][] = matrix;for(int i=0;i< matrix.length;i++){for (int j=0;j< matrix[0].length;j++){if (matrix[i][j] == 0){//设置的是辅助数组SetZero(helper,i,j);break;}}}for(int i=0;i< matrix.length;i++) {for (int j = 0; j < matrix[0].length; j++) {matrix[i][j] = helper[i][j];}}}/**** @param helper* @param m* @param n*/private void SetZero(int helper[][], int m, int n) {for (int i=0;i< helper.length;i++){helper[i][n] = 0;}for (int i=0;i< helper.length;i++){helper[m][i]=  0;}}}

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

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

相关文章

PaoPao泡泡清新文艺的微社区系统源码

泡泡是一个真正意义上高性能的微社区&#xff0c;虽然规模不大却拥有完备的功能。 该系统采用了GoZinc架构&#xff0c;前端使用Vue3进行构建&#xff0c;采用清新简洁的设计风格&#xff0c;布局类似Twitter的三栏设计。 后端服务使用Go编写&#xff0c;仅占用8MB的内存&…

小程序的剪贴板 实现复制文本功能

小程序的剪贴板 实现复制文本功能 wx.setClipboardData wx.setClipboardData() 设置系统剪贴板的内容。调用成功后&#xff0c;会弹出 toast 提示"内容已复制"&#xff0c;持续 1.5s Promise 风格 调用&#xff1a;支持微信 Windows 版&#xff1a;支持微信 Mac 版&…

新手入门深度学习 | 6-2:AlexNet(2012)详解

&#x1f517; 运行环境&#xff1a;python3&#x1f6a9; 作者&#xff1a;K同学啊&#x1f947; 精选专栏&#xff1a;《深度学习100例》&#x1f525; 推荐专栏&#xff1a;《新手入门深度学习》&#x1f4da; 选自专栏&#xff1a;《Matplotlib教程》&#x1f9ff; 优秀专栏…

K8S-二进制部署

二进制搭建 Kubernetes v1.20 k8s集群master01&#xff1a;192.168.22.10 kube-apiserver kube-controller-manager kube-scheduler etcd k8s集群master02&#xff1a;192.168.22.20 k8s集群node01&#xff1a;192.168.22.11 kubelet kube-proxy docker k8s集群node02&#x…

30分钟,认识 html 本质

30分钟&#xff0c;认识 html 本质 html 是什么&#xff1f;html 起源html 发展标签分类空间占用方式布局文本修饰流媒体标签 预定义符号 Symbols弃用的部分标签学习 html html 是什么&#xff1f; HTML的英文全称是 Hyper Text Markup Language&#xff0c;即超文本标记语言。…

Spring Boot中RabbitMQ自动配置的介绍、原理和使用

Spring Boot中RabbitMQ自动配置的介绍、原理和使用 引言 RabbitMQ是一种高性能的消息队列系统&#xff0c;它支持多种消息协议和丰富的功能&#xff0c;如消息路由、消息确认、消息重试、死信队列等。在Spring Boot中&#xff0c;我们可以通过自动配置的方式来使用RabbitMQ。…

ICMP类型

ICMP&#xff08;Internet Control Message Protocol&#xff09;Internet控制报文协议。它是TCP/IP协议簇的一个子协议&#xff0c;用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户…

命令模式的学习与使用

1、命令模式的学习 当你想要将请求与实际执行操作的对象解耦时&#xff0c;可以使用命令模式。它将一个请求封装为一个对象&#xff0c;从而使你可以根据不同的请求将其参数化&#xff0c;将请求队列或日志请求&#xff0c;并支持可撤销的操作。   命令模式由以下几个核心角色…

Can’t connect to MySQL server on ‘localhost’ (10061)

标题:Can’t connect to MySQL server on ‘localhost’ (10061) 一种情况是&#xff0c;mysql服务没有开启&#xff0c; 解决方式&#xff1a;以管理员身份进入cmd&#xff0c;然后输入net start mysql&#xff0c;注意这里的mysql&#xff0c;指的是你的mysql服务的名称&am…

Vue + electron 构建桌面应用程序

文章目录 需求分析解决 需求 使用Vue.js构建桌面应用程序 分析 选择一个Vue.js框架&#xff1a;选择一个适合你的Vue.js框架。推荐使用Electron&#xff0c;因为它是最流行的桌面应用程序框架之一&#xff0c;而且与Vue.js非常兼容。还有其他框架&#xff0c;如 Proton Native…

【SCI/EI/CNKI录用案例】最快8天录用

生命科学类SCI 【期刊简介】IF&#xff1a;2.5-3.0&#xff0c;JCR2区&#xff0c;中科院3区 【检索情况】SCI 在检&#xff0c;正刊 【征稿领域】生物科学、环境科学、医学科学和健康科学方向相关研究均可 【截稿时间】仅剩10篇版面左右 录用案例&#xff1a;仅1个月13天录…