博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
48. Rotate Image - Medium
阅读量:6249 次
发布时间:2019-06-22

本文共 1335 字,大约阅读时间需要 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 , 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]]

Example 2:

Given input matrix =[  [ 5, 1, 9,11],  [ 2, 4, 8,10],  [13, 3, 6, 7],  [15,14,12,16]], rotate the input matrix in-place such that it becomes:[  [15,13, 2, 5],  [14, 3, 4, 1],  [12, 6, 8, 9],  [16, 7,10,11]]

 

把正方形的四条边分为四组,每组的n个数字位置互相占据,外层交换完成后进入内层

time: O(N^2), space: O(1)

class Solution {    public void rotate(int[][] matrix) {        int lrow = 0, lcol = 0, rrow = matrix.length - 1, rcol = matrix[0].length - 1;        while(lrow < rrow && lcol < rcol) {             for(int i = 0; i < rcol - lcol; i++) {                 int tmp = matrix[lrow][lcol + i];                 matrix[lrow][lcol + i] = matrix[rrow - i][lcol];                 matrix[rrow - i][lcol] = matrix[rrow][rcol - i];                 matrix[rrow][rcol - i] = matrix[lrow + i][rcol];                 matrix[lrow + i][rcol] = tmp;             }            lrow++;lcol++;rrow--;rcol--;        }    }}

 

转载于:https://www.cnblogs.com/fatttcat/p/10134939.html

你可能感兴趣的文章
Neo4j集群环境建设
查看>>
Spring集合配置
查看>>
【转】移动测试人员的未来:测试开发技术的融合
查看>>
MySQL迁移[转]
查看>>
Struts2 多文件上传
查看>>
从Yii2的Request看其CSRF防范策略
查看>>
composer安装yii2或者laravel报错
查看>>
springmvc 环境配置图
查看>>
Spring MVC 中采用注解方式 Action中跳转到另一个Action的写法
查看>>
Android学习网站
查看>>
[CareerCup] 13.7 Node Pointer 节点指针
查看>>
UML用例图中泛化、扩展、包括
查看>>
prism 4 模块配置 管理
查看>>
String
查看>>
News: Visual Studio Code support debugging Linux Apps
查看>>
【BZOJ】2956: 模积和
查看>>
【转载】COM 组件设计与应用(二)——GUID 和 接口
查看>>
struts2 标签问题----日期显示
查看>>
c++ http请求
查看>>
Android 读取蓝牙设备信息开发
查看>>