hot100 | 六、矩阵

1-leetcode73. 矩阵置零

注意:×

  1. 注意第一行和第一列如果检查到了0,直接break
  2. 也可以使用HashSet方法,直接把0的数字对应的横纵坐标放在两个不同的HashSet当中,最后如果HashSetContain了当前数字下标中的一个,就直接给0
    public void setZeroes(int[][] matrix) {int n = matrix.length;int m = matrix[0].length;int firstRowFlag = 0, firstColFlag = 0;for (int i = 0; i < n; i++) {if (matrix[i][0] == 0) {firstColFlag = 1;break;}}for (int i = 0; i < m; i++) {if (matrix[0][i] == 0) {firstRowFlag = 1;break;}}// 开始找0for (int i = 1; i < n; i++) {for (int j = 1; j < m; j++) {if (matrix[i][j] == 0) {matrix[i][0] = 0;matrix[0][j] = 0;}}}// 开始清理for (int i = 1; i < n; i++) {for (int j = 1; j < m; j++) {if (matrix[i][0] == 0 || matrix[0][j] == 0) {matrix[i][j] = 0;}}}if (firstRowFlag == 1){Arrays.fill(matrix[0], 0);}if (firstColFlag == 1){for (int i = 0; i < n; i++) {matrix[i][0] = 0;}}}

2-leetcode54. 螺旋矩阵

注意:×

  1. 看了Labuladong的解题思路,确实是一道没写过的不会,写过的很难忘的一道题
  2. 注意各个边界的调整即可,思路应该不会再忘的
    public List<Integer> spiralOrder(int[][] matrix) {int n = matrix.length;int m = matrix[0].length;int upSide = 0, downSide = n - 1;int leftSide = 0, rightSide = m - 1;ArrayList<Integer> res = new ArrayList<>();while (res.size() < m*n){if (upSide <= downSide){for (int i = leftSide; i <= rightSide; i++) {res.add(matrix[upSide][i]);}upSide++;}if (leftSide <= rightSide){for (int i = upSide; i <= downSide; i++) {res.add(matrix[i][rightSide]);}rightSide--;}if (upSide <= downSide){for (int i = rightSide; i >= leftSide; i--) {res.add(matrix[downSide][i]);}downSide--;}if (leftSide <= rightSide){for (int i = downSide; i >= upSide; i--) {res.add(matrix[i][leftSide]);}leftSide++;}}return res;}

3-leetcode48. 旋转图像

注意:×

  1. 注意对角线遍历是for(i = 0) for(j = i)
    public void rotate(int[][] matrix) {int n = matrix.length;int m = matrix[0].length;for (int i = 0; i < n; i++) {for (int j = i; j < m; j++) {int temp = matrix[i][j];matrix[i][j] = matrix[j][i];matrix[j][i] = temp;}}for (int[] ma : matrix) {reverse(ma);}}private void reverse(int[] ma) {int n = ma.length;int left = 0;int right = n-1;while (left<right){int temp = ma[left];ma[left] = ma[right];ma[right] = temp;left++;right--;}}

4-leetcode240. 搜索二维矩阵 II

注意:×

  1. 看完解析就会了,主要是思路
    public boolean searchMatrix(int[][] matrix, int target) {int n = matrix.length;int m = matrix[0].length;// 从最右上角开始便利,如果比目标数字大,就往左边走,如果比目标数字小,就往下面走int iIndex = 0;int jIndex = m - 1;while (iIndex < n && jIndex >= 0){if (matrix[iIndex][jIndex] == target){return true;}else if (matrix[iIndex][jIndex] > target){jIndex--;}else {iIndex++;}}return false;}

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

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

相关文章

Amazon SQS应用场景及Python实现案例

1. SQS简介 Amazon Simple Queue Service (SQS) 是一种完全托管的消息队列服务,可以帮助解耦和扩展微服务、分布式系统和无服务器应用程序。SQS 可以在分布式应用程序组件之间传输任何数量的消息,而无需丢失消息或要求其他服务始终可用。 2. SQS应用场景 SQS 在许多场景中…

零基础学python(一)

1. 匿名函数 常规函数&#xff1a; def fun(x, y):return x y 匿名函数&#xff1a; # lambda 空格后面是函数入参&#xff0c;冒号后面写函数体/函数逻辑 a lambda x,y: x y print(a(2,3)) 匿名函数/lambda函数的最大优点就是快速定义函数&#xff0c;使代码更精简。 …

Redis 的缓存淘汰策略

Redis 作为一个高性能的内存数据库&#xff0c;提供了多种缓存淘汰策略&#xff08;也称为过期策略或驱逐策略&#xff09;&#xff0c;用于管理内存使用。当 Redis 达到其内存限制时&#xff0c;系统会根据配置的策略删除一些数据&#xff0c;以释放内存空间。以下是 Redis 支…

【数据结构】(6.3)堆的应用——堆排序(C语言)

系列文章目录 文章目录 系列文章目录前言1. 堆排序的基础知识2. 堆排序详解2.1 堆排序整体思路2.2 思路详解2.2.1 建堆2.2.2 堆排序完整代码2.2.3 输出数据 3. 时间复杂度分析 前言 1. 堆排序的基础知识 堆排序&#xff08;Heap Sort&#xff09;就是对直接选择排序的一种改进…

04通俗理解自注意力机制(self-attention)

04浅谈自注意力机制&#xff08;self-attention&#xff09; 1. 基本概念 注意力机制 是Transformer模型的核心。它的作用是让模型能够“关注”输入数据的不同部分&#xff0c;而不是一次只处理一个词。比如&#xff0c;当模型在处理一句话时&#xff0c;它可以同时考虑句子中…

2024攻防演练:亚信安全新一代WAF,关键时刻守护先锋

实网攻防 网络安全如同一面坚固的盾牌&#xff0c;保护着我们的信息资产免受无孔不入的威胁。而其中&#xff0c;WAF就像网络安全的守门员&#xff0c;关键时刻挺身而出&#xff0c;为您的企业筑起一道坚实的防线。 攻防不对等 防守方实时应答压力山大 在攻防对抗中&#xf…

day04-matplotlib入门

matplotlib Matplotlib 提供了一个套面向绘图对象编程的 API接口 是一款用于数据可视化的 Python 软件包&#xff0c;支持跨平台运行 它能够根据 NumPyndarray 数组来绘制 2D(3D) 图像&#xff0c;它使用简单、代码清晰易懂&#xff0c;深受广大技术爱好 者喜爱。 实列&…

Django学习第五天

启动项目命令 python manage.py runserver 图像验证码生成随机字母或者数字 import random from PIL import Image, ImageDraw, ImageFont, ImageFilterdef check_code(width120, height40, char_length5, font_fileZixunHappyBold.ttf, font_size28):code []img Image.new…

liunx离线安装Firefox

在Linux系统中离线安装Firefox浏览器&#xff0c;您需要先从Mozilla的官方网站下载Firefox的安装包&#xff0c;然后通过终端进行安装。以下是详细的步骤&#xff1a; 准备工作 下载Firefox安装包&#xff1a; 首先&#xff0c;在一台可以上网的电脑上访问Firefox官方下载页面…

Spring框架Mvc(2)

1.传递数组 代码示例 结果 2.集合参数存储并进行存储类似集合类 代码示例 postman进行测试 &#xff0c;测试结果 3.用Json来对其进行数据的传递 &#xff08;1&#xff09;Json是一个经常使用的用来表示对象的字符串 &#xff08;2&#xff09;Json字符串在字符串和对象…

实证Stata代码命令汇总

实证Stata代码命令汇总 更新时间:2024.4 实证Stata代码命令汇总 (一) 数据导入和管理 1. 数据导入 2. 数据导出

图文识别0难度上手~基于飞浆对pdf简易ocr并转txt

前言 本篇pdf适用windows对视觉识别0基础的的纯小白用户。大佬请绕道~~ 注意&#xff1a; 本项目pdf的ocr对于表格、画图文字&#xff0c;水印等干扰没做任何处理&#xff0c;因此希望各位使用该功能的pdf尽量不要含有这些干扰项&#xff0c;以免影响翻译效果。 流程 1.构建…

【c语言】轻松拿捏自定义类型

&#x1f31f;&#x1f31f;作者主页&#xff1a;ephemerals__ &#x1f31f;&#x1f31f;所属专栏&#xff1a;C语言 目录 前言 一、结构体 1.结构体类型的定义和使用 1.1 结构体类型声明 1.2 结构体变量的创建和初始化 1.3 结构体变量成员的访问 1.4 结构体的特殊声…

MobPush iOS端 扩展业务功能设置

1、扩展业务说明 MobPush提供的扩展业务功能为&#xff1a; &#xff08;1&#xff09;按照地域提供更为精准的推送&#xff1b; &#xff08;2&#xff09;实现网络链路的选择与优化、检测并实现与特定区域相关的服务&#xff1b; &#xff08;3&#xff09;生成用户画像&…

三万字带你一遍跑通uer

三万字带你一遍跑通uer 参考文档 今天给大家介绍个非常强大的项目uer&#xff0c;集成了许多可以做自然语言的东西&#xff0c;效果的话也非常好&#xff0c;很适合企业级的应用&#xff01; 1. 先将项目uer从github拉取下来&#xff08;zip或git都ok&#xff09; 2. 用pycha…

HTTP代理服务器:深度解析与应用

“随着互联网的飞速发展&#xff0c;HTTP代理服务器在网络通信中扮演着越来越重要的角色。它们作为客户端和服务器之间的中介&#xff0c;不仅优化了网络性能&#xff0c;还提供了强大的安全性和隐私保护功能。” 一、HTTP代理服务器的概念与作用 HTTP代理服务器是一种能够接…

价值499的从Emlog主题模板PandaPRO移植到wordpress的主题

Panda PRO 主题&#xff0c;一款精致wordpress博客主题&#xff0c;令人惊叹的昼夜双版设计&#xff0c;精心打磨的一处处细节&#xff0c;一切从心出发&#xff0c;从零开始&#xff0c;只为让您的站点拥有速度与优雅兼具的极致体验。 从Emlog主题模板PandaPRO移植到wordpres…

兴业小课堂|什么是法拍房助拍机构?如何挑选靠谱的助拍机构?

随着法拍房市场的不断发展和扩大 使法拍房数量的增加 其交易的复杂性和专业性需求也日益凸显 这促使了专门机构的出现来满足市场需求 法拍房助拍机构存在的原因主要有以下几点&#xff1a; 1.专业知识和经验&#xff1a; 法拍房的交易流程相对复杂&#xff0c;涉及到法律法…

【全网最全ABC三题完整版】2024年APMCM第十四届亚太地区大学生数学建模竞赛(中文赛项)完整思路解析+代码+论文

我是Tina表姐&#xff0c;毕业于中国人民大学&#xff0c;对数学建模的热爱让我在这一领域深耕多年。我的建模思路已经帮助了百余位学习者和参赛者在数学建模的道路上取得了显著的进步和成就。现在&#xff0c;我将这份宝贵的经验和知识凝练成一份全面的解题思路与代码论文集合…

全面探索C语言内存模型:从底层原理到高效实践

引言 在计算机科学领域&#xff0c;C语言以其贴近硬件的特性著称&#xff0c;程序员可以直接操作内存地址和管理内存空间。内存模型是理解程序运行机制的关键&#xff0c;它决定了变量存储的位置、生命周期以及数据访问效率。本文将深入剖析C语言中的内存布局、内存分配策略以…