每天一道LeetCode-----顺时针旋转n×n矩阵90度
Rotate Image
原题链接Rotate Image
原地旋转n × n矩阵90度
正方形的旋转问题可以一圈一圈的旋转,先旋转最外层,然后内层,再内层。需要旋转的次数是矩阵行数的一半。旋转过程中元素的交换可以多次取值找规律,方法如下
matrix[i][j] -> matrix[j][n-1-i];
matrix[j][n-1-i] -> matrix[n-1-i][n-1-j];
matrix[n-1-i][n-1-j] -> matrix[n-1-j][i];
matrix[n-1-j][i] -> matrix[i][j];
实际上就是位置[i][j]旋转90度后的新位置是[j][n-i]
代码如下
class Solution {
public:void rotate(vector<vector<int>>& matrix) {int n = matrix.size();for(int i = 0; i < n / 2; ++i){for(int j = i; j < n - 1 - i; ++j){/* 因为顺时针旋转,所以该值时要逆时针改 */int tmp = 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] = tmp;}} }
};
每天一道LeetCode-----顺时针旋转n×n矩阵90度相关推荐
- 矩阵顺时针旋转90度
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! ---- ...
- 编写程序python、实现将矩阵顺时针旋转90°_Java实现矩阵顺时针旋转90度的示例...
实现矩阵的转置较为容易,只需要将纵横下标互换即可.实现矩阵旋转稍微麻烦一点. 解题思路: 矩阵转换90度,则原矩阵的纵下标转变为新矩阵的横下标:原矩阵的横下标转变为新矩阵的纵下标,并且顺序相反. pu ...
- 有一副由NxN矩阵表示的图像,这里每个像素用一个int表示,请编写一个算法,在不占用额外内存空间的情况下(即不使用缓存矩阵),将图像顺时针旋转90度。 给定一个NxN的矩阵,和矩阵的阶数N,请返回旋转
有一副由NxN矩阵表示的图像,这里每个像素用一个int表示,请编写一个算法,在不占用额外内存空间的情况下(即不使用缓存矩阵),将图像顺时针旋转90度. 给定一个NxN的矩阵,和矩阵的阶数N,请返回旋转 ...
- LeetCode——Rotate Image(二维数组顺时针旋转90度)
问题: You are given an n x n 2D matrix representing an image. Rotate the image by 90 degrees (clockwis ...
- python将矩阵顺时针旋转90度_在Python中将方形矩阵逆时针旋转90度的程序
假设我们有一个正方形矩阵,我们必须将其逆时针旋转90度.147 258 369 那么输出将是789 456 1个23 为了解决这个问题,我们将遵循以下步骤-如果矩阵为空,则返回一个空白列表 n:=矩阵 ...
- python将矩阵顺时针旋转90度_python实现顺时针打印矩阵
面试题之顺时针打印矩阵,Python实现,供大家参考,具体内容如下 问题描述: 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,输入如下矩阵: 则依次打印出数字1,2,3,4,8, ...
- python将矩阵顺时针旋转90度_python 二维数组90度旋转的方法
如下所示: #!/usr/bin/env python #-*- coding: utf-8 -*- """ [0, 1, 2, 3] [0, 1, 2, 3] [0, ...
- 【Android RTMP】NV21 图像旋转处理 ( 图像旋转算法 | 后置摄像头顺时针旋转 90 度 | 前置摄像头顺时针旋转 90 度 )
文章目录 安卓直播推流专栏博客总结 一. 后置摄像头顺时针旋转 90 度 二. 前置摄像头顺时针旋转 90 度 三. NV21 格式图像旋转代码 安卓直播推流专栏博客总结 Android RTMP 直 ...
- 【Android RTMP】NV21 图像旋转处理 ( 问题描述 | 图像顺时针旋转 90 度方案 | YUV 图像旋转细节 | 手机屏幕旋转方向 )
文章目录 安卓直播推流专栏博客总结 一. NV21 图像格式与 Camera图像传感器方向问题 二. NV21 图像格式视频旋转 1. 图像旋转问题及解决方案 ( 顺时针旋转 90 度 ) 2. NV ...
最新文章
- (转自Timon's wang blogs)C#实现web信息自动抓取
- 如何使用ui-router中的ui-sref将参数传递给控制器
- python语言标识符首字符不能是汉字_Python基本语法元素
- 【必看】Linux 或 Windows上实现端口映射
- Spring注解@Resource和@Autowired区别对比
- python is beautiful_Python list 和 str 互转
- 为什么80%的码农都做不了架构师?
- 49 MM配置-库存管理和实际库存-设置容差限制
- tcp压力测试工具_DNS压力测试工具之——DNSperf
- 大二学生基于Html+Css+javascript的网页制作——动漫设计公司响应式网站模板 (10个页面)
- 各省省际对外非金融类直接投资流量情况(2009-2018年)
- OSPF高等特性——Forwarding Address
- RS232接口转USB接口的通信方法
- 关于ES6中let 和 const 命令的用法以及注意事项:
- 最新版本Hadoop面试题
- 应用程序运行 Error 1706 错误
- C语言 找第一个只出现一次的字符
- jtopo 拓扑图的简单使用
- 中文 gbk gb2312 在线转换 编码码 对照表 自动转换 在线转换(推荐)
- Navicat导出pdf
热门文章
- jmeter json断言_Jmeter接口测试数据库断言的实现与设计
- github 搜索_Fzf:Golang开发的Github高星系统模糊搜索补全工具
- Java黑皮书课后题第8章:8.29(相同的数组)如果两个二维数组m1和m2具有相同的内容,则它们是相同的。编写一个方法,如果m1和m2相同的话,返回true
- 2009年浙江大学计算机及软件工程研究生机试真题
- AngularJS学习之旅—AngularJS Http(九)
- 九章算法班L3 Dynamic Programming Ⅰ
- mysql中union与union all的区别
- python爬虫(4)--Cookie的使用
- Nginx配置X-Forwarded-Proto
- Knockoutjs 实践入门 (2) 绑定事件