leetcode top100矩阵题73.54.48.240

embedded/2025/3/16 15:00:17/
73. 矩阵置零
class Solution {public void setZeroes(int[][] matrix) {int line = matrix.length;int col = matrix[0].length;List<Integer> changeLines = new ArrayList<Integer>();List<Integer> changeCols = new ArrayList<Integer>();for(int i = 0; i < line; i++) {for(int j = 0; j < col; j++) {if (matrix[i][j] == 0) {changeLines.add(i);changeCols.add(j);}}}
​for(int i = 0; i < line; i++) {if (changeLines.contains(i)) {Arrays.fill(matrix[i], 0);}for(int j = 0; j < changeCols.size(); j++) {matrix[i][changeCols.get(j)] = 0;}}return;}
}
54. 螺旋矩阵
class Solution {private static final int[][] DIRS = {{0, 1}, {1, 0}, {0, -1}, {-1, 0}};public List<Integer> spiralOrder(int[][] matrix) {int line = matrix.length;int col = matrix[0].length;int size = line * col;List<Integer> ans = new ArrayList<>(line * col);int i = 0; int j = -1;for(int di = 0; ans.size() < size; di = (di + 1) % 4) {for(int k = 0; k < col; k++) {i += DIRS[di][0];j += DIRS[di][1];ans.add(matrix[i][j]);}int tmp = col;col = line - 1;line = tmp;}return ans;}
}
48. 旋转图像
class Solution {public void rotate(int[][] matrix) {int lines = matrix.length;int cols = matrix[0].length;int[][] copy = new int[lines][cols];for(int i = 0; i < lines; i++) {for(int j = 0; j < cols; j++) {copy[i][j] = matrix[i][j];}}for(int i = 0; i < lines; i++) {for(int j = 0; j < cols; j++) {matrix[j][cols - i - 1] = copy[i][j];}}return;}
}
240. 搜索二维矩阵

lc240.png

class Solution {public boolean searchMatrix(int[][] matrix, int target) {int m = matrix.length;int n = matrix[0].length;for(int i = 0; i < m; i++) {if (matrix[i][n - 1] < target) {continue;} else if (matrix[i][n - 1] == target) {return true;}for(int j = n - 1; j >= 0; j--) {if (matrix[i][j] > target) {continue;} else if (matrix[i][j] == target) {return true;} else {break;}}}return false;}
}

http://www.ppmy.cn/embedded/173088.html

相关文章

Python数据分析之数据可视化

Python 数据分析重点知识点 本系列不同其他的知识点讲解&#xff0c;力求通过例子让新同学学习用法&#xff0c;帮助老同学快速回忆知识点 可视化系列&#xff1a; Python基础数据分析工具数据处理与分析数据可视化机器学习基础 四、数据可视化 图表类型与选择 根据数据特…

Html5记忆翻牌游戏开发经验分享

H5记忆翻牌游戏开发经验分享 这里写目录标题 H5记忆翻牌游戏开发经验分享前言项目概述技术要点解析1. 页面布局&#xff08;HTML CSS&#xff09;响应式设计 2. 翻牌动画效果3. 游戏逻辑实现状态管理卡片配对检测 开发技巧总结1. 模块化设计2. 性能优化3. 用户体验 踩坑经验扩…

蓝桥杯嵌入式赛道复习笔记1(led点亮)

前言 基础的文件创建&#xff0c;参赛资源代码的导入&#xff0c;我就不说了&#xff0c;直接说CubeMX的配置以及代码逻辑思路的书写&#xff0c;在此我也预祝大家人人拿国奖 理论讲解 原理图简介 1.由于存在PC8引脚到PC15引脚存在冲突&#xff0c;那么官方硬件给的解决方案…

Web元件库 ElementUI元件库+后台模板页面(支持Axure9、10、11)

Axure是一款非常强大的原型设计工具&#xff0c;它允许设计师和开发者快速创建高保真原型&#xff0c;以展示应用或网站的设计和功能。通过引入各种元件库&#xff0c;如ElementUI元件库&#xff0c;可以极大地丰富Axure的原型设计能力&#xff0c;使其更加贴近实际开发中的UI组…

AI绘画笔记--基础知识

一.什么是AI绘画 AI绘画或者说AI生图&#xff0c;本质上来说还是图像生成技术&#xff0c;是一种基于深度学习的人工智能技术&#xff0c;通过提前大量学习学习图像特征&#xff0c;生成符合提示词的新图像。 整个流程可以简化理解为&#xff1a;人们首先让深度学习模型读取大量…

硬件与软件的边界-从单片机到linux的问答详解

--- # 硬件与软件的边界——从单片机到 Linux 设备驱动的问答详解 在嵌入式开发和操作系统领域&#xff0c;经常会有人问&#xff1a; **“如果一个设备里没有任何代码&#xff0c;硬件是不是依然会工作&#xff1f;例如&#xff0c;数据收发、寄存器数据存储、甚至中断触发…

Redis设计与实现-数据持久化

数据持久化 1、RDB持久化1.1 RDB文件的创建和载入1.2 自动间隔保存1.3 RDB文件结构 2、AOF持久化2.1 AOF写入2.2 AOF载入2.3 AOF重写 如有侵权&#xff0c;请联系&#xff5e; 如有错误&#xff0c;也欢迎批评指正&#xff5e; 本篇文章大部分是来自学习《Redis设计与实现》的笔…

呵护斜颈老人:解锁护理关键,重塑健康生活

痉挛性斜颈是一种以颈肌扭转或阵挛导致头部倾斜、旋转为特征的疾病&#xff0c;给老人的生活带来诸多不便。做好健康护理&#xff0c;对缓解症状、提升生活质量至关重要。 在日常生活中&#xff0c;要注重老人的姿势管理。为老人选择高度合适、有良好颈部支撑的枕头&#xff0c…