48. Rotate Image
问题分析:顺时针旋转90度意味着每个元素的位置会发生变化,新的位置(i, j)对应原矩阵的位置(n-1-j, i)。 直接赋值:遍历旋转后的每个位置,并从原矩阵中读取对应的值进行赋值,这样可以在原地完成旋转。 时间复杂度:O(n²),因为我们需要遍历整个矩阵。 空间复杂度:O(1),因为我们在原地修改矩阵,无需额外空间。
发布日期:2025-06-19 07:14:52
浏览次数:4
分类:精选文章
本文共 758 字,大约阅读时间需要 2 分钟。
为了顺时针旋转给定的n×n矩阵,我们可以利用矩阵的位置变换规律。旋转90度后,原矩阵中的元素会被重新排列,新的位置(i, j)将对应原矩阵中的位置(n-1-j, i)。通过遍历每个位置并直接赋值,我们可以在原地完成旋转。
方法思路
解决代码
public class Solution { public void rotate(int[][] matrix) { int n = matrix.length; for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { int fromRow = n - 1 - j; int fromCol = i; matrix[i][j] = matrix[fromRow][fromCol]; } } }} 代码解释
- 循环遍历:我们使用双重循环遍历整个矩阵,每个位置(i, j)。
- 计算源位置:对于每个位置(i, j),计算其在原矩阵中的源位置fromRow和fromCol。
- 赋值操作:将源位置的值赋给当前位置,这样就完成了旋转。
这种方法高效且直接,能够在原地完成矩阵的旋转,避免了额外空间的使用。
发表评论
最新留言
很好
[***.229.124.182]2026年06月08日 20时46分11秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
PHP写日志fwrite和file_put_contents的区别与性能
2023-03-01
PHP函数
2023-03-01
PHP函数__autoload失效原因(与smarty有关)
2023-03-01
PHP函数操作数字和汉字互转(100以内)
2023-03-01
PHP函数方法
2023-03-01
PHP删除指定目录下的所有文件和文件夹 | 删除指定文件
2023-03-01
php判断ip黑名单程序代码
2023-03-01
php判断复选框是否被选中的方法
2023-03-01
PHP判断指定目录下是否存在文件
2023-03-01
php判断数组是否为空
2023-03-01
PHP判断数组是否有重复值、获取重复值
2023-03-01
PHP利用正则表达式实现手机号码中间4位用星号(*)替换显示
2023-03-01
PHP加密与安全的最佳实践
2023-03-01
PHP区分 企业微信浏览器 | 普通微信浏览器 | 其他浏览器
2023-03-01
php原生代码怎么连表查询,PHP tp5中使用原生sql查询代码实例
2023-03-01
PHP去掉转义符
2023-03-01
php反射api
2023-03-01
PHP反射ReflectionClass、ReflectionMethod 入门教程
2023-03-01
PHP反射机制
2023-03-01
php取当天的最后一秒_Docker快速搭建PHP开发环境详细教程
2023-03-01