首页 > 其他分享 >day-46 旋转图像

day-46 旋转图像

时间:2024-09-01 20:21:54浏览次数:11  
标签:rotate matrix 46 元素 矩阵 旋转 int 图像 day

在这里插入图片描述
思路
不能使用辅助数组,所以关键在于弄清楚旋转后坐标的变化规律。当矩阵的大小n为偶数时,以n/2行和n/2列的元素为起点,当矩阵的大小n为奇数时,以n/2行和(n+1)/2列的元素为起点

解题过程
关键:旋转过程中互相交换的四个元素的坐标为:1.matrix[i][j] 2. matrix[n - 1 - j][i] 3.matrix[n - 1 - i][n - 1 - j] 4.matrix[j][n - 1 - i]

Code

class Solution {
    public void rotate(int[][] matrix) {
        int n=matrix.length;
            int row=n/2;
            int col=(n+1)/2;
            for(int i=0;i<row;i++){
                for(int j=0;j<col;j++){
                    int t=matrix[i][j];
                    matrix[i][j] = matrix[n - 1 - j][i];
                    matrix[n - 1 - j][i] = matrix[n - 1 - i][n - 1 - j];
                    matrix[n - 1 - i][n - 1 - j] = matrix[j][n - 1 - i];
                    matrix[j][n - 1 - i] = t;
                }
            }
    }
}

作者:菜卷
链接:https://leetcode.cn/problems/rotate-image/solutions/2900533/xuan-zhuan-tu-xiang-by-ashi-jian-chong-d-4nud/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

标签:rotate,matrix,46,元素,矩阵,旋转,int,图像,day
From: https://blog.csdn.net/qq_53568730/article/details/141789305

相关文章

  • python进阶篇-day03-学生管理系统与深浅拷贝
    day03-学生管理系统-面向对象魔术方法:__dict__将对象的属性和属性值封装为字典用字典的值实例化对象:对象名(**字典)=>拆包student.py"""该文件记录的是:学生类的信息.​学生的属性如下: 姓名,性别,年龄,联系方式,描述信息"""​#1.定义学生类.......
  • 代码随想录刷题day13丨二叉树理论基础,递归遍历,迭代遍历,统一迭代,层序遍历
    代码随想录刷题day13丨二叉树理论基础,递归遍历,迭代遍历,统一迭代,层序遍历1.二叉树理论基础1.1二叉树种类满二叉树概述:如果一棵二叉树只有度为0的结点和度为2的结点,并且度为0的结点在同一层上,则这棵二叉树为满二叉树。这棵二叉树为满二叉树,也可以说深度为k,有2^k-1个节......
  • IO进程day06(进程间通信、信号、共享内存)
    目录【1】进程间通信IPC1》进程间通信方式2》无名管道1>特点2>函数接口3>注意事项练习:父子进程实现通信,父进程循环从终端输入数据,子进程循环打印数据,当输入quit结束。3》有名管道 1>特点2>函数接口3>注意事项 练习:通过两个进程实现cp功能 4>有名管......
  • 基于yolov10的学生课堂行为检测系统,支持图像检测,也支持视频和摄像实时检测(pytorch框架
       更多目标检测和图像分类识别项目可看我主页其他文章功能演示:基于yolov10的学生课堂行为检测系统,支持图像、视频和摄像实时检测【pytorch框架、python】_哔哩哔哩_bilibili(一)简介基于yolov10的学生课堂行为检测系统是在pytorch框架下实现的,这是一个完整的项目,包括代码......
  • CSS 中的图像、媒体和表单元素——WEB开发系列23
    Web开发中,图像、媒体和表单元素是构建用户界面的重要组成部分。正确地使用CSS来处理这些元素可以大幅提高用户体验,增强页面的美观性和功能性。一、什么是替换元素?图像和视频被描述为“替换元素”。这意味着CSS不能影响它们的内部布局——而仅影响它们在页面上相对于其他元素的......
  • spring学习日记-day5-代理模式
    一、学习目标        代理模式是一种常用的设计模式,它主要用于在不修改原有对象代码的情况下,通过引入一个代理对象来控制对原有对象的访问,从而增强原有对象的功能。代理模式主要分为两种:静态代理和动态代理。尽管Spring框架本身更多地利用了动态代理来实现其功能,但理......
  • jdbc-day01
    _01Simple_JDBCDemo01packagecom.jdbc._01Simple;importjava.sql.*;/***JDBC的第一个程序编写:修改mydb库中的emp表中的7369这个员工的部门编号为30*准备工作:准备好项目,然后加载第三方jar包,即MYSQL的驱动程序。注意,addasLibrary*/publicclassJDBCDem......
  • 学习爬虫day26-kanzhun请求加密与逆向解密
    找到入口之后,在主js文件中,模拟入口函数,生成需要的参数:functiontest(n){letM=window.loader(12210)//console.log(M._A())lets=M.A()//letn='{"cityCode":"","salaryId":"403","experienceId":"","pageNum......
  • NVIDIA 系列之 使用生成式 AI 增强 ROS2 机器人技术:使用 BLIP 和 Isaac Sim 进行实时
    简介在快速发展的机器人领域,集成先进的AI模型可以显著增强机器人系统的功能。在本博客中,我们将探讨如何在ROS2(机器人操作系统2)环境中利用BLIP(引导语言图像预训练)模型进行实时图像字幕制作,并使用NVIDIAIsaacSim进行模拟。我们将介绍如何实现一个ROS2节点,该节点订......
  • 第146篇:响应式动态居中(js+css,vue)
    好家伙, 1.使用js原生<divid="container"style="position:relative;width:100%;height:100vh;"><divid="hero"style="position:relative;"></div></div><script>consthero=doc......