leetcode top100矩阵题73.54.48.240

news/2025/3/16 3:19:03/
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/news/1579470.html

相关文章

JavaScript性能优化

JavaScript性能优化指南 一&#xff1a;性能分析与指标确立 使用性能分析工具 • 使用Lighthouse、Chrome DevTools的Performance面板和WebPageTest进行基准测试&#xff0c;识别加载时间、脚本执行时长等瓶颈。 • 关注核心Web指标&#xff1a;LCP&#xff08;最大内容绘制&a…

pytorch训练权重转化为tensorflow模型的教训

模型构建时候有时候在工程量比较大的时候&#xff0c;不可避免使用迭代算法&#xff0c;迭代算法本身会让错误的追踪更加困难&#xff0c;因此掌握基本的框架之间的差异非常重要。以下均是在模型转换过程中出现的错误。 shuffle operation(shuffle 操作) 这个操作原本是用来将…

HTML 样式之 CSS 全面解析

在网页开发的世界里&#xff0c;HTML 负责搭建页面的结构&#xff0c;而 CSS&#xff08;Cascading Style Sheets&#xff0c;层叠样式表&#xff09;则承担着渲染 HTML 元素标签样式的重任&#xff0c;赋予网页丰富的视觉效果。​ 一、CSS 的魅力展现​ CSS 能够实现诸如改变…

Ubuntu22.04 安装 Isaac gym 中出现的问题

Ubuntu22.04 安装 Isaac gym 中出现的问题 1. Isaac Gym 简介2. 下载地址3.具体安装过程省略4.问题与解决 1. Isaac Gym 简介 Isaac Gym 是 NVIDIA 推出的机器人仿真与强化学习训练平台&#xff0c;支持 GPU 加速的物理仿真。本文将详细介绍其在 Ubuntu 22.04 上的安装流程。 …

Go语言为什么运行比Java快

文章目录 前言一、核心区别二、Go Vs Java1.Go 的启动比 Java 快&#xff1f;2.选 Go Or Java&#xff1f; 总结 前言 Go 和 Java 是两种广泛应用的编程语言&#xff0c;它们在语言特性、性能、生态、应用场景等方面存在显著区别。以下是它们的核心区别&#xff0c;以及在实际…

Excel 保护工作簿:它能解决哪些问题?如何正确使用?

在日常办公中&#xff0c;Excel 表格常常涉及多人协作、重要数据保护&#xff0c;甚至是避免误操作的情况。这时候&#xff0c;“保护工作簿”功能就能派上用场。它能有效防止他人修改表结构、删除工作表&#xff0c;甚至可以设置密码&#xff0c;确保数据的完整性和安全性。今…

【Go沉思录】朝花夕拾:探究 Go 接口型函数

本文目录 序1.接口型函数案例方式1 GetterFunc 类型的函数作为参数方式2 实现了 Getter 接口的结构体作为参数价值 2.net/http包中的使用场景 序 之前写Geecache的时候&#xff0c;遇到了接口型函数&#xff0c;当时没有搞懂&#xff0c;现在重新回过头研究复习Geecache的时候…

每日一题一一LeetCode1. 两数之和 - 力扣(LeetCode)

每日一题一一LeetCode1. 两数之和 - 力扣&#xff08;LeetCode&#xff09; 1. 两数之和 - 力扣&#xff08;LeetCode&#xff09; 本题的要求是给你一个数组&#xff0c;然后让你从中找出两个值&#xff0c;他们的和为target&#xff0c;然后返回这两个数的下标 暴力版本&a…