力扣-hot100(旋转图像)

48. 旋转图像

中等

给定一个 n × n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。

你必须在 原地 旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。

示例 1:

img

输入:matrix = [[1,2,3],[4,5,6],[7,8,9]]
输出:[[7,4,1],[8,5,2],[9,6,3]]

示例 2:

img

输入:matrix = [[5,1,9,11],[2,4,8,10],[13,3,6,7],[15,14,12,16]]
输出:[[15,13,2,5],[14,3,4,1],[12,6,8,9],[16,7,10,11]]

提示:

  • n == matrix.length == matrix[i].length

  • 1 <= n <= 20

  • -1000 <= matrix[i][j] <= 1000

思路:更像是数学题,看官方题解出来的....

class Solution {public void rotate(int[][] matrix) {int n = matrix.length;int m = matrix[0].length;// 先水平翻转for(int i = 0; i < n/2; i ++){for(int j = 0; j < m; j ++){int t = matrix[i][j];matrix[i][j] = matrix[n - i - 1][j];matrix[n - i - 1][j] = t;}}
​// 再按对角线翻转for(int i = 0; i < n; i ++){for(int j = 0; j < i; j ++){int t = matrix[i][j];matrix[i][j] = matrix[j][i];matrix[j][i] = t;}}}
}

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

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

相关文章

Docker编排工具---Compose的概述及使用

目录 一、Compose工具的概述 二、Compose的常用命令 1、列出容器 2、查看访问日志 3、输出绑定的公共端口 4、重新构建服务 5、启动服务 6、停止服务 7、删除已停止服务的容器 8、创建和启动容器 9、在运行的容器中执行命令 10、指定一个服务启动容器的个数 11、其…

C25-数组应用及练习

第一题 题目: 代码 #include <stdio.h> int main() {//数组及相关数据定义int arr[10];int i;//基于循环的数组数据输入for(i0;i<10;i){arr[i]i;}//基于循环的数组数据输出for(i9;i>0;i--){printf("%d ",arr[i]);}return 0; }结果 第二题 题目 代码 …

网络安全怎么入门?快速了解

网络安全是一个快速发展的领域&#xff0c;入门需要系统化的学习和实践。以下是适合零基础或转行者的分阶段学习路径&#xff0c;涵盖必备知识、学习资源、实战方法和职业方向&#xff1a; 一、基础阶段&#xff08;1-3个月&#xff09; 1. 掌握核心基础知识 计算机网络&#…

express 怎么搭建 WebSocket 服务器

一&#xff1a;使用 express-ws var express require(express); var app express(); var expressWs require(express-ws)(app);app.use(function (req, res, next) {console.log(middleware);req.testing testing;return next(); });app.get(/, function(req, res, next){…

【AI论文】SuperEdit:修正并促进基于指令的图像编辑的监督信号

摘要&#xff1a;由于手动收集准确的编辑数据存在挑战&#xff0c;现有的数据集通常使用各种自动化方法构建&#xff0c;导致编辑指令和原始编辑图像对之间不匹配导致监督信号出现噪声。 最近的研究试图通过生成更高质量的编辑图像、在识别任务上进行预训练或引入视觉语言模型&…

关于大疆红外图片提取温度方法 python 方法

思路 红外图片需要是黑白图片 提取红外图片最高和最低温度 温度图例 根据最高温度31.2摄氏度 最低温度19.9摄氏度 那中间的值在 0到255 之间 那有这个值之后。就可以获取到图片里面 每个点或者面的值 实现方式 def find_Gray(self, t_max, t_min, c_temp):"""…

金融小知识

&#x1f4c9; 一、“做空”是啥&#xff1f; 通俗说法&#xff1a;押“它会跌”&#xff0c;赚钱&#xff01; ✅ 举个例子&#xff1a; 有一天老王的包子涨价到 10 块一个&#xff0c;张三觉得这价格肯定撑不住&#xff0c;未来会跌到 5 块。于是他&#xff1a; 向朋友借了…

JavaScript 数据存储全攻略:从 Cookie 到 IndexedDB

1. Cookie&#xff1a;传统的轻量级存储 Cookie 是最早的客户端存储解决方案之一&#xff0c;最初设计用于服务器和客户端之间的状态保持。 基本用法 javascript 复制 下载 // 设置cookie document.cookie "usernameJohnDoe; expiresThu, 18 Dec 2025 12:00:00 UTC…

Leetcode 刷题记录 09 —— 链表第三弹

本系列为笔者的 Leetcode 刷题记录&#xff0c;顺序为 Hot 100 题官方顺序&#xff0c;根据标签命名&#xff0c;记录笔者总结的做题思路&#xff0c;附部分代码解释和疑问解答&#xff0c;01~07为C语言&#xff0c;08及以后为Java语言。 01 合并 K 个升序链表 /*** Definitio…

如何利用 Elastic Load Balancing 提升应用性能与可用性?

当今云计算的快速发展中&#xff0c;随着应用需求的增加&#xff0c;如何确保系统能够高效、稳定地处理不断增长的流量成为了每个技术团队关注的焦点。Elastic Load Balancing&#xff08;ELB&#xff09;作为一种强大的工具&#xff0c;能够帮助开发者和运维人员轻松应对流量波…

Word如何制作三线表格

1.需求 将像这样的表格整理成论文中需要的三线表格。 2.直观流程 选中表格 --> 表格属性中的边框与底纹B --> 在设置中选择无&#xff08;重置表格&#xff09;–> 确定 --> 选择第一行&#xff08;其实是将第一行看成独立表格了&#xff0c;为了设置中线&…

JVM的双亲委派模型

引言 Java类加载机制中的双亲委派模型通过层层委托保证了核心类加载器与应用类加载器之间的职责分离和加载安全性&#xff0c;但其单向的委托关系也带来了一些局限性。尤其是在核心类库需要访问或实例化由应用类加载器加载的类时&#xff0c;双亲委派模型无法满足需求&#xf…

6.4.高并发设计

目录 一、高并发系统设计基础理论 CAP定理与高可用性权衡 • 一致性&#xff08;C&#xff09; vs 可用性&#xff08;A&#xff09;在电商、社交场景的取舍 • 分区容错性&#xff08;P&#xff09;的实践意义&#xff1a;异地多活与脑裂处理 性能指标与评估模型 • QPS、TP…

工程师转型算法工程师 深入浅出理解transformer-手搓板

编码器 以下部分引用台湾大学李宏毅教授的ppt 自己理解解释一遍(在youtobe 上可以搜索李宏毅即可) 首先先来看transformer的架构图 Embedding 我们先从Imput Embedding 跟 OutPutEmbedding 开始&#xff0c;让我们用 bert 模型来做一个解释 从huggingface上下载的bert-base…

软件工程学概述

一、软件危机 &#xff08;一&#xff09;软件危机的介绍 1. 基本思想与定义 软件危机&#xff08;Software Crisis&#xff09;是指在计算机软件的开发和维护过程中所遇到的一系列严重问题&#xff0c;这些问题既包括技术层面的挑战&#xff0c;也涉及管理层面的困境。其核心…

【ArcGIS Pro微课1000例】0068:Pro原来可以制作演示文稿(PPT)

文章目录 一、新建演示文稿二、插入页面1. 插入地图2. 插入空白文档3. 插入图像4. 插入视频三、播放与保存一、新建演示文稿 打开软件,新建一个地图文档,再点击【新建演示文稿】: 创建的演示文档会默认保存在目录中的演示文稿文件夹下。 然后可以对文档进行简单的设计,例如…

[吾爱出品][Windows] 产品销售管理系统2.0

[Windows] 产品销售管理系统 链接&#xff1a;https://pan.xunlei.com/s/VOPej1bHMRCHy2np9w3TBOyKA1?pwdgjy7# 使用方法&#xff1a;1、先设置一下图片保存路径 2、维护产品。客户等基础信息。例如&#xff1a;销售类型&#xff1a;一次性 销售编码&#xff1a;RCX。 3、销…

MySQL数据库高可用(MHA)详细方案与部署教程

一&#xff1a;MHA简介 核心功能 二&#xff1a;MHA工作原理 三&#xff1a;MHA组件 四&#xff1a;MHA 架构与工具 MHA架构 Manager关键工具 Node工具 五&#xff1a;工作原理与流程 1: 故障检测 2: 故障切换&#xff08;Failover&#xff09; 3 : 切换模式 六&a…

华为设备链路聚合实验:网络工程实战指南

链路聚合就像为网络搭建 “并行高速路”&#xff0c;既能扩容带宽&#xff0c;又能保障链路冗余&#xff0c;超实用&#xff01; 一、实验拓扑速览 图中两台交换机 LSW1 和 LSW2&#xff0c;PC1、PC2 归属 VLAN 10&#xff0c;PC3 归属 VLAN 30。LSW1 与 LSW2 通过 GE0/0/1、…

数组和集合

数组和集合的区别&#xff1a; 1、数组是固定长度的数据结构&#xff0c;一旦创建长度就无法改变&#xff0c;集合是动态长度数据结构&#xff0c;可根据需求动态增加或减少元素。 2、数组包含基本数据类型和对象&#xff0c;而集合只能包含对象。 3、数组可以直接访问元素&…