当前位置: 首页 > news >正文

【LeetCode】【算法】48. 旋转图像

LeetCode 48. 旋转图像

题目描述

给定一个 n × n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。
你必须在 原地 旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。

思路

思路:再次拜见K神,其实旋转图像就是四个角不断换,但是换的过程中会有一个问题,一个元素会覆盖另一个元素,那我们只需要用tmp存一个角的元素,剩下覆盖就好了
在这里插入图片描述

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
只需要交换以上红框的元素就可以了。所以处理范围是:
0<=i<matrix.length/2; 0<=j<(matrix.length+1)/2.

代码

class Solution {public void rotate(int[][] matrix) {// 只需要对满足以下范围的格子做操作:// 0 <= i < matrix.length / 2; 0 <= j < (matrix.length + 1) / 2,弄不清楚就画个4*4和5*5的格子看一下就行int n = matrix.length;for (int i = 0; i < n / 2; i++) {for (int j = 0; j < (n + 1) / 2; j++) {// 四个角转int tmp = matrix[i][j];matrix[i][j] = matrix[matrix.length - 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] = tmp;}}}
}
http://www.lryc.cn/news/479975.html

相关文章:

  • 【STM32F1】——9轴姿态模块JY901与串口通信(上)
  • Docker网络概述
  • Vite与Vue Cli的区别与详解
  • 深究JS底层原理
  • 数据分析-41-时间序列预测之机器学习方法XGBoost
  • json转java对象 1.文件读取为String 2.String转为JSONObject 3.JSONObject转为Class
  • 基于卷积神经网络的农作物病虫害识别系统(pytorch框架,python源码)
  • ETLCloud异常问题分析ai功能
  • 【1】 Kafka快速入门-从原理到实践
  • go语言中的map类型详解
  • GBase 8a MPP Cluster V9安装部署
  • 静态库、动态库、framework、xcframework、use_frameworks!的作用、关联核心SDK工程和测试(主)工程、设备CPU架构
  • C++ | Leetcode C++题解之第552题学生出勤记录II
  • 网站架构知识之Ansible(day020)
  • K8s使用nfs
  • 【大数据学习 | kafka高级部分】kafka的kraft集群
  • 爬虫策略规避:Python爬虫的浏览器自动化
  • Hive 实现查询用户连续三天登录记录
  • OceanBase 4.3.3 功能解析:列存副本
  • 2.Python解释器
  • 鸿蒙与团结引擎c#与ts简单交互
  • Any 的原理以及实现
  • SQLI LABS | Less-35 GET-Bypass Add Slashes (we dont need them) Integer Based
  • RNN(循环神经网络)详解
  • 【AI抠图整合包及教程】探索SAM 2:图像与视频分割领域的革新者
  • DevExpress中文教程 - 如何使用AI模型检查HTML编辑中的语法?
  • python包管理工具pip和conda的使用对比
  • Linux案例:DNS服务器配置
  • 【Python】__getitem__()方法
  • 《Atomic Picnic》进不去游戏解决方法