题目

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?

分析

本地使得二维矩阵,旋转90角度。

通过实际数据分析,通过两个步骤的元素交换可实现目标:

  1. 按照主对角线,将对称元素交换
  2. 按照列,将对称列元素全部交换

即可达到,使得二维矩阵,本地旋转90个角度。

AC代码

class Solution {
public:
void rotate(vector<vector<int>>& matrix) {
if (matrix.empty())
return; int n = matrix.size(); //首先,沿主对角线交换元素
for (int i = 0; i < n; i++)
{
for (int j = 0; j <= i; j++)
swap(matrix[i][j], matrix[j][i]);
} for (int i = 0, j = n - 1; i < j; i++, j--)
{
for (int k = 0; k < n; k++)
swap(matrix[k][i], matrix[k][j]);
}
}
};

GitHub测试程序源码

最新文章

  1. css3线条围绕跑马+jquery打字机效果
  2. java目录与classpath
  3. 根据 MySQL 状态优化 ---- 4. 临时表
  4. Python数组合并
  5. SQL Server Profiler使用方法
  6. BZOJ-2756 奇怪的游戏 黑白染色+最大流+当前弧优化+二分判断+分类讨论
  7. ubuntu常用快捷键
  8. 不允许从数据类型 nvarchar 到 varbinary 的隐式转换
  9. Lc.exe已退出 代码为-1问题解决方法
  10. 基于SIFT+Kmeans+LDA的图片分类器的实现
  11. Selective Search for Object Recognition 论文笔记【图片目标分割】
  12. 三十天学不会TCP,UDP/IP编程--MAC地址和数据链路层
  13. 按钮组,导航条选中其中一个后添加Class突出元素
  14. 浅谈AngularJS中的指令和指令间的相互通信
  15. P1428 小鱼比可爱
  16. Light oj 1018 - Brush (IV) 状态压缩
  17. day 102 GIT 的使用方法.
  18. Spring知识结构
  19. 自定义SpringBoot控制台输出的图案
  20. vue教程1-05 事件 简写、事件对象、冒泡、默认行为、键盘事件

热门文章

  1. JSON WEB TOKEN 从原理到实战
  2. linux 磁盘 分区、格式化、挂载
  3. 暴力/DP Codeforces Beta Round #22 (Div. 2 Only) B. Bargaining Table
  4. 字符串处理 BestCoder Round #43 1001 pog loves szh I
  5. rabbitmq实践笔记(一):安装、配置与使用初探
  6. 用.NetReactor保护您的源码[转][修改]
  7. Linux普通到root用户切换-转
  8. 关于min-height:100%的解决办法
  9. js 验证码倒计时效果
  10. Android开发使用的常见第三方框架汇总