c++二维矩阵顺时针和逆时针旋转
/** 顺时针旋转* 先从上到下,再交换* 1 2 3 7 8 9 7 4 1* 4 5 6 => 4 5 6 => 8 5 2* 7 8 9 1 2 3 9 6 3
*/
void rotate(vector<vector<int> > &matrix) {reverse(matrix.begin(), matrix.end());for (int i = 0; i < matrix.size(); ++i) {for (int j = i + 1; j < matrix[i].size(); ++j)swap(matrix[i][j], matrix[j][i]);}
}/** 逆时针旋转* 先从左到右, 再交换* 1 2 3 3 2 1 3 6 9* 4 5 6 => 6 5 4 => 2 5 8* 7 8 9 9 8 7 1 4 7
*/
void anti_rotate(vector<vector<int> > &matrix) {for (auto &vi : matrix) reverse(vi.begin(), vi.end());for (int i = 0; i < matrix.size(); ++i) {for (int j = i + 1; j < matrix[i].size(); ++j)swap(matrix[i][j], matrix[j][i]);}
}
说明:
for (auto &c : s)
c = toupper(c); //toupper,是一种计算机用语,用来将字符c转换为大写英文字母
相当于
for (auto it = s.begin(); it != s.end(); ++it){
auto &c = *it;
c = toupper(c);
}
c++二维矩阵顺时针和逆时针旋转相关推荐
- Python 矩阵顺时针,逆时针旋转
Python 矩阵顺时针,逆时针旋转 matrix = [[0,1,2,3],[4,5,6,7],[8,9,10,11]] matrix1 = [list(i)[::-1] for i in reve ...
- 雅可比旋转求解对称二维矩阵的特征值和特征向量
问题描述: 给定一个矩阵,如下: A=[a11a21a12a22] A=\begin{bmatrix} a_{11}&a_{12}\\ a_{21}& a_{22} \end{bmat ...
- 算法学习之实现二维矩阵的顺时针遍历
背景 有这么一道面试题,让顺时针输出一个二维矩阵. 思路 记录开始行开始列和结束行结束列,做为输出的边界 除了要输出的矩阵,我还设置了一个状态矩阵,用来记录矩阵中某一个元素输出与否,没有输出过的元素, ...
- matlab不用循环,三维矩阵按横切页(垂直于纸面且)向右展开为2维,即(i,j,:)展开。将二维矩阵每行顺序不变依次向左复制,如:(a,b,c)复制为(a,a,a,b,b,b,c,c,c)
概述:将将二维矩阵每行顺序不变依次向左复制和三维矩阵按横切页(垂直于纸面且)向右展开为2维其中的主要计算方法一致,所以放在一起说明.复制的主要要点是将二维矩阵扩展为三维>>>展开三维 ...
- 利用Turbo C进行平面二维图形的平移,旋转,缩放,对称
[实验内容] 以矩阵运算为数学基础,采用旋转.平移.缩放.对称等基本几何变换,对一简单的二维图形做变换. [实验步骤] 1. 编写二维图形基本变换(包括旋转.平移.缩放.对称)的通用子程序: 2. 以 ...
- LeetCode 07: T48. 旋转图像 (中等); T54. 螺旋矩阵(中等); T240. 搜索二维矩阵 II (中等)
文章目录 T19: 48. 旋转图像 (中等) 思路 解法 1: 新增数组 解法 2: 原地旋转 T20: 54. 螺旋矩阵(中等) 思路 解法: 到边界换方向 T21: 240. 搜索二维矩阵 II ...
- matlab 把图像变成二维的,matlab图像怎么变成二维矩阵
求:matlab二维直方图图像分割程序.. 我给你个网站``里面的教学很详细~~希望能帮到你~~~~反正里面的软件教程很多``就是不知道有没你要找的``如果有~~给我加分哈``http://tech. ...
- 基于二维矩阵的FFT计算原理
FFT算法是信号处理领域最基本.最经典的算法,在工程实践中用处十分广泛,但是在一些对FFT点数要求较大或者计算FFT实时性要求较高的场合,按常规方式直接计算FFT难以满足工程实际的要求.本文针对长点数 ...
- WebGL 理论基础 - 二维矩阵
此文上接一系列文章,先从基础概念开始,上一篇是物体缩放. 之前的三篇文章讲了如何对二维物体进行平移,旋转,和 缩放.每种变换都改变了着色器并且这些变换还受先后顺序影响.在前例中我们先缩放,再旋转,最后 ...
最新文章
- html 多项选择,选项标签中的HTML多字段选择
- java如何绘制图表_java绘制excel图表(jxcell)
- 二十年后我发明了保姆机器人作文_我想发明保姆机器人作文700字
- 关于UI自动化测试元素定位细节记录
- 手写自己的MyBatis框架-V2.0配置文件
- tensorboard运行
- Source Insight使用技巧
- OpenCv学习笔记(二)—cv Mat学习
- vue-cli4.x 中 配置允许跨域请求
- java对mysql读写权限设置_Java学习笔记——MySQL开放3306接口与设置用户权限
- MATLAB学习笔记(九)
- 条件锁pthread_cond_t
- SpringMVC中的Controller默认单例
- java orientation_Java WritableCellFormat.setOrientation方法代码示例
- iso27001信息安全体系认证意义
- 使用Postman进行get、put、post端口测试
- 微信java版s40_塞班微信S40版下载
- Linux 上安装Realtek瑞昱网卡驱动
- [一步一步MVC]第四回:漫谈ActionLink,有时“胡搅蛮缠”
- ubuntu下使用docker进行深度学习环境配置(从入门到精通)