leetcode 48. Rotate Image(旋转图像)

【LeetCode 】: 48. 旋转图像(Rotate Image) 【LeetCode】 48 - 旋转图像 (Rotate Image) 问题描述: 给定一个 n × n 的二维矩阵,表示一个图像。将图像顺时针旋转 90 度。 说明 你必须在原地旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要使用另一个矩阵来旋转图像。 示例1 给定 matrix = [ [1,2,3], [4,5,6], [7,8,9] ], 原地旋转输入矩阵,使其变为: [ [7,4... 阅读详情

You are given an n x n 2D matrix representing an image.

Rotate the image by 90 degrees (clockwise).

Note:

You have to rotate the image in-place, which means you have to modify the input 2D matrix directly. DO NOT allocate another 2D matrix and do the rotation.

Example 1:

Given input matrix =
[
[1,2,3],
[4,5,6],
[7,8,9]
],

rotate the input matrix in-place such that it becomes:
[
[7,4,1],
[8,5,2],
[9,6,3]
]

给出一个图像(二维数组),做旋转变换(in place)
in place也就是不能另外分配一个数组,要在原数组上进行变换

思路:

顺时针旋转90度即为第一行变最后一列…
意味着要同时做行列的交换,需要记录的数字有点多。

拆分一下,只做行,列,对角线的交换,就会简单很多。
先做对角线的交换,把行换到列,然后再做列交换。

旋转变换分两步,第一步对角线翻转,第二步列中点处为中心轴左右翻转

    public void rotate(int[][] matrix) {
        if(matrix == null || matrix.length == 0) {
            return;
        }
        
        int n = matrix.length;
        
        //先按对角线翻转
        for(int i = 0; i < n; i++) {
            for(int j = i + 1; j < n; j++) {
                //swap
                int tmp = matrix[i][j];
                matrix[i][j] = matrix[j][i];
                matrix[j][i] = tmp;
            }
        }
        
        //按中心轴左右翻转
        for(int i = 0; i < n; i++) {
            for(int j = 0; j < n/2; j++) {
                //swap
                int tmp = matrix[i][j];
                matrix[i][j] = matrix[i][n - 1 - j];
                matrix[i][n - 1 - j] = tmp;
            }
        }
    }
从拆解到调试:用CS5523改造旧款车载显示屏的完整记录(MIPI转eDP方案) 本文详细记录了使用CS5523芯片将旧款车载显示屏从MIPI接口改造为eDP驱动的完整过程。通过对比LT8911等芯片,选择CS5523实现低功耗、高兼容性的显示升级,涵盖硬件改造、固件配置及调试技巧,最终成功提升显示效果200%。 阅读详情

相关推荐

Zephyr RTOS详解

Zephyr 是一个开源的实时操作系统(RTOS),专为资源受限的嵌入式设备设计,支持多种架构(如 ARM Cortex-M、RISC-V、x86 等)。

weixin_43484713的博客 4102

python图像操作3:图像翻转(水平翻转、垂直翻转、对角线翻转)

结果如图(翻转两次就变成了对角线翻转了呀)一次垂直一次水平。

ytcjoy的博客 1434

保姆级教程:在树莓派4B上用V4L2驱动USB摄像头(附完整代码)

本文提供树莓派4B上使用V4L2驱动USB摄像头的完整教程,涵盖环境配置、V4L2架构解析、代码实现及问题排查。通过详细步骤和完整代码示例,帮助开发者快速掌握嵌入式Linux下的摄像头驱动开发,解决实际应用中的兼容性和性能问题。

weixin_30312563的博客 381

LeetCode48. 旋转图像 - 对角线反转和镜像的关系【图解】

fc625的博客 1264

汇川伺服Modbus-RTU通讯实战:从帧结构解析到西门子PLC配置

本文详细解析了汇川伺服与西门子PLC通过Modbus-RTU协议进行通讯的实战步骤,包括帧结构解析、硬件连接、参数设置及PLC程序配置。通过具体案例和常见问题排查指南,帮助工程师快速掌握工业自动化中的通讯技术,提升设备调试效率。

weixin_33670713的博客 452

Windows 11安装realtek audio control

Windows 11安装realtek audio control,解决无法链接RPC问题

m0_46144825的博客 8万+

旋转图像

这题相当于脑筋急转弯,记住怎么做就行。 要图形顺时针旋转90,我们只需要沿对角线翻转依次,和沿直线翻转一次就好啦 对角线 就是2,4交换 3,7交换,6,8交换 对角线换完再竖直反转 而这里怎么进行对角线的交换呢 我们可以画一条对角线,与反转的对角线对称 我们可以发现在对角线上i=j,那么我们只需要让i<j的数字与i>j的数字交换即可 for(int i=0;i<n;i++){ for(int j=0;j<i;j++){ swap(a[i][j],...

m0_62000951的博客 663

livox avia平台搭建

livox雷达数据采集平台搭建

Shilong的博客 1308

opencv的图像上下、左右和对角线翻转—flip函数

在OpenCV中,flip函数用于翻转图像。你可以沿x轴、y轴或两者同时翻转图像。这个函数非常直接,可以用于创建镜像图像或旋转图像。src:输入图像。dst:翻转后的输出图像。可以与输入图像相同(原地操作)。flipCode:指定翻转的轴。

xiaofeixia002X的博客 1787

把开源 Skills 集成到 LangGraph 项目

1. 定义智能体状态(必须包含 messages,其他字段按需扩展)messages: List[HumanMessage | AIMessage | ToolMessage] # 消息流(核心)skill_output: Optional[str] # 存储 Skill 执行结果next_node: str # 控制流程跳转# 2. 定义智能体决策节点(决定是否调用 Skill)"""智能体决策逻辑:根据用户输入判断是否调用开源 Skill"""# 获取最后一条用户消息。

lpfasd123的博客 896

驾驶行为检测数据集准备与处理详解

本文详细介绍了构建"未系安全带/打电话"检测模型的数据集准备流程。首先分析公开数据集(如StateFarm、AICityChallenge)的优缺点,并提供格式转换脚本。重点推荐自行采集+半自动标注方案:1)视频关键帧提取;2)使用预训练模型生成伪标签;3)人工修正标注;4)数据增强(光照变化、运动模糊等)。文章还包含数据配置文件编写指南,并针对类别不平衡、小目标检测等常见问题提出解决方案,如过采样、切片训练和负样本挖掘。通过这套流程可构建高质量数据集,为模型训练奠定基础。

u010117029的博客 356

OpenCV图片沿对角线调换

OpenCV图片沿对角线调换 1、在学习左上角和右下角对调之前,我们有必要了解一下什么是水平方向对调图片和竖直方向对调图片。 2、在开始图片对调之前,我们思考一下这个问题 我们将A1和B7进行互换,A2和B6进行互换,以此类推,将A组元素和B组元素对角线互换,得到新的A和B,我们对图片进行的对角线调换也是这个原理。 3、代码实现: import cv2 as cv impo...

小郎人的博客 1086

10分钟搞定manim安装与vscode配置

manim安装与vscode配置

帅帅de三叔 3411

【Leetcode】48. 旋转图像(Rotate Image)

Leetcode - 48 Rotate Image (Medium) 题目描述:将一个 n × n 的矩阵旋转 90°,不能使用额外的辅助空间。 Given input matrix = [ [1,2,3], [4,5,6], [7,8,9] ], rotate the input matrix in-place such that it becomes: [ [7,4,1]...

厉兵秣码 341

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Leetcode 48. Rotate Image 旋转图像

Leetcode 48. Rotate Image 旋转图像 标签: Leetcode 题目地址:https://leetcode-cn.com/problems/rotate-image/ 题目描述 给定一个 n × n 的二维矩阵表示一个图像。 将图像顺时针旋转 90 度。 说明: 你必须在原地旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要使用另一个矩阵来旋转图像...

CoderWangSon 278

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

LeetCode典型题目系列 48. Rotate Image 旋转图像

LeetCode典型题目系列 48. Rotate ImageLeetCode典型题目系列题目 48. Rotate Image思路编程技巧Code (Java) LeetCode典型题目系列 作为一名学计算机的学生,之前一直少有练习OJ,写博客,维护自己的GitHub的觉悟,说到底还是太懒了。春招以来愈发觉得练习OJ的重要性,于是准备写一些博客,记录自己遇到的典型题目和思考,一方面是给自己的笔记...

是阿福呀 598

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

leetcode 48. Rotate Image-旋转图像|python

旋转图像,这是一个在leetcoed上十分有意思的例子,也具有一定的实用性,尤其在图像处理领域应用较多,在leetcode上也比较受欢迎。在这一篇分享当中,会在解答本题的顺便分享一下解题过程当中的几个知识点。首先看看题目描述:给定一个 n × n 的二维矩阵表示一个图像。将图像顺时针旋转 90 度。说明:你必须在原地旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要使用另一个矩阵来旋转图像。示...

m0_37985723的博客 893

Leetcode|48.Rotate Image旋转图像.java

题目 给定一个 n × n 的二维矩阵表示一个图像。 将图像顺时针旋转 90 度。 说明: 你必须在原地旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要使用另一个矩阵来旋转图像。 示例 1: 给定 matrix = [ [1,2,3], [4,5,6], [7,8,9] ], 原地旋转输入矩阵,使其变为: [ [7,4,1], [8,5,2], [9,6,3] ] 示例 2: 给定 matrix = [ [ 5, 1, 9,11], [ 2, 4, 8,10], [13, 3, 6, 7], [

梦晨涌京 289

LeetCode 48 Rotate Image(旋转图像)

翻译给定一个n∗nn * n的2D矩阵表示一个图像。顺时针旋转90度。跟进: 你可以就地完成它吗?原文You are given an n x n 2D matrix representing an image.Rotate the image by 90 degrees (clockwise).Follow up: Could you do this in-place?分析尊重原创,一个很好的

nomasp 7600

Leetcode 48.旋转图像(Rotate Image)

Leetcode 48.旋转图像 1 题目描述(Leetcode题目链接)   给定一个 n × n 的二维矩阵表示一个图像。将图像顺时针旋转 90 度。   说明:你必须在原地旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要使用另一个矩阵来旋转图像。 示例: 给定 matrix = [ [1,2,3], [4,5,6], [7,8,9] ], 原地旋转输入矩阵,使其变为: ...

qq_39378221的博客 275

LeetCode第48题思悟——旋转图像(rotate-image)

LeetCode第48题思悟——旋转图像(rotate-image) 知识点预告 坐标规律计算——数学知识; 正方形中对中点的计算; 题目要求 给定一个 n × n 的二维矩阵表示一个图像。 将图像顺时针旋转 90 度。 说明: 你必须在原地旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要使用另一个矩阵来旋转图像。 来源:力扣(LeetCode) 链接:https://leetcode...

博采众长,自成一派; 407

LeetCode | 48. 旋转图像 (Rotate Image)

链接:https://leetcode.cn/problems/rotate-image/solutions/1228078/48-xuan-zhuan-tu-xiang-fu-zhu-ju-zhen-yu-jobi/ 来源:力扣(LeetCode) 著作权归作者所有。输入: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]]

Lynn0_Y的博客 460

[leetcode]48. Rotate Image旋转图像

You are given annxn2D matrix representing an image. Rotate the image by 90 degrees (clockwise). Note: You have to rotate the imagein-place, which means you have to modify the input 2D matrix d...

weixin_30376509的博客 88

Leetcode48. Rotate Image旋转图像

给定一个n×n的二维矩阵表示一个图像。 将图像顺时针旋转 90 度。 说明: 你必须在原地旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要使用另一个矩阵来旋转图像。 示例 1: 给定 matrix = [ [1,2,3], [4,5,6], [7,8,9] ], 原地旋转输入矩阵,使其变为: [ [7,4,1], [8,5,2],...

Ha12312的博客 137

【LeetCode】#48旋转图像(Rotate Image)

【LeetCode】#48旋转图像(Rotate Image) 题目描述 给定一个 n × n 的二维矩阵表示一个图像。 将图像顺时针旋转 90 度。 说明: 你必须在原地旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要使用另一个矩阵来旋转图像。 示例 示例 1: 给定 matrix = [ [1,2,3], [4,5,6], [7,8,9] ], 原地旋转输入矩阵,使其变为: [ [7,4...

weixin_43858604的博客 158

LeetCode 48. 旋转图像 Rotate Image

给定一个 n × n 的二维矩阵表示一个图像。 将图像顺时针旋转 90 度。 说明: 你必须在原地旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要使用另一个矩阵来旋转图像。 示例 1: 给定 matrix = [ [1,2,3], [4,5,6], [7,8,9] ], 原地旋转输入矩阵,使其变为: [ [7,4,1], [8,5,2], [9,6,...

Umbrella Corporation 1万+
上一篇: leetcode 42. Trapping Rain Water(接雨水)
下一篇: catboost测试,ROC
蓝羽飞鸟
博客等级 码龄8年 1万+粉丝 727原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蓝羽飞鸟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值