题目链接:http://www.nowcoder.com/practice/2e95333fbdd4451395066957e24909cc?tpId=49&tqId=29373&rp=1&ru=/ta/2016test&qru=/ta/2016test/question-ranking

顺时针旋转矩阵
  • 热度指数:2065时间限制:3秒空间限制:32768K
  • 本题知识点: 编程基础
  • 算法知识视频讲解

题目描述

有一个NxN整数矩阵,请编写一个算法,将矩阵顺时针旋转90度。

给定一个NxN的矩阵,和矩阵的阶数N,请返回旋转后的NxN矩阵,保证N小于等于300。

测试样例:
[[1,2,3],[4,5,6],[7,8,9]],3
返回:[[7,4,1],[8,5,2],[9,6,3]]

其实用笔画一下,找规律就可以了,见下图:

左面的矩阵经过旋转以后就变成了右面矩阵的样子,可以发现mat[i][j]被旋转到了mat[j][n-i-1]的位置,由此我们可以很快地写出代码:

vector<vector<int> > rotateMatrix(vector<vector<int> > mat, int n){vector<vector<int>> v(n,vector<int>(n));for(int i=0;i<n;i++)for(int j=0;j<n;j++)v[j][n-1-i]=mat[i][j];return v;}

或者还可以这么想,如上图,旋转前,矩阵是按照打印顺序1,由上至下一行一行打印的,旋转以后可以发现打印的顺序改变了,是按照打印顺序2

打印的,一列一列的由下至上的依次打印每个元素,因此我们新建一个矩阵,按照旋转后的矩阵的打印次序,依次把元素填入新的矩阵就可以了。

vector<vector<int> > rotateMatrix(vector<vector<int> > mat, int n)
{vector< vector<int> > v;for(int i=0; i<n; i++){vector<int> tmp;for(int j=n-1; j>=0; j--){tmp.push_back(mat[j][i]);}v.push_back(tmp);}return v;
}

每天一道题,保持新鲜感,就这样~

【牛客网】马三来刷题之顺时针旋转矩阵相关推荐

  1. 牛客网SQL 进阶篇刷题

    牛客网SQL 进阶篇刷题(1-19) 用户1001在2021年9月1日晚上10点11分12秒开始作答试卷9001,并在50分钟后提交,得了90分: 用户1002在2021年9月4日上午7点1分2秒开始 ...

  2. 【自我救赎--牛客网Top101 4天刷题计划】 第三天 渐入佳境

    第三天 声明:本系列文章仅适合二刷有经验的算法er学习,以后会出详细的每一题的讲解,这里只是简单的说明思路来帮助大家快速刷完Top101,另外博主的算法全程跟着 labuladong 大佬学习,这里特 ...

  3. 【自我救赎--牛客网Top101 4天刷题计划】 第四天 登峰造极

    第四天 声明:本系列文章仅适合二刷有经验的算法er学习,以后会出详细的每一题的讲解,这里只是简单的说明思路来帮助大家快速刷完Top101,另外博主的算法全程跟着 labuladong 大佬学习,这里特 ...

  4. 【自我救赎--牛客网Top101 4天刷题计划】 第一天 热身运动

    第一天 声明:本系列文章仅适合二刷有经验的算法er学习,以后会出详细的每一题的讲解,这里只是简单的说明思路来帮助大家快速刷完Top101,另外博主的算法全程跟着 labuladong 大佬学习,这里特 ...

  5. 为了OFFER系列 | 牛客网美团点评数据分析刷题

    @Author:Runsen 对于大学的每一个阶段,都有着不同的意义,在大学期间一定要有明确的战略.打法,以及人生布局,才能最大程度的提升自己,才能在未来走的更远. 现如今大四,为了OFFER,冲啊 ...

  6. 原创 牛客网产品笔试题刷题打卡——用户研究

    QQ和微信的区别. 1.产品定位 QQ:"每一天,乐在沟通",是一款基于互联网的社交通讯软件.QQ是PC互联网的产物,侧重社交,更娱乐化. 微信:"一个生活方式" ...

  7. string类函数和牛客网剑指offer刷题记录

    1.strcat char* strcat(char *strDest,const char *strSrc){assert(strDest && strSrc);char *p = ...

  8. 牛客网C语言入门刷题(BC1 ~ BC50)

    文章目录 BC1 实践出真知 BC2 我是大V BC3 有容乃大 BC6 小飞机 BC7 缩短二进制 BC8 十六进制转十进制 BC9 printf的返回值描述 BC10 成绩输入输出 BC11 学生 ...

  9. 牛客网java基础知识刷题记录-02

    2022.2.17-2022.3.1 try块后必须有catch块.() 正确 错误 考察内容:try的形式有三种:1. try-catch2. try-finally3. try-catch-fin ...

  10. 原创 牛客网产品笔试题刷题打卡——需求分析/数据分析/文档攥写

    ARPU(ARPU-AverageRevenuePerUser)即每用户平均收入.用于衡量电信运营商和互联网公司业务收入的指标.ARPU注重的是一个时间段内运营商从每个用户所得到的收入.很明显,高端的 ...

最新文章

  1. Redis和Memcached,干货来一波
  2. Dubbo(五)Dubbo 简单监控平台(monitor)搭建
  3. Java讲课笔记09:类与对象
  4. 【LeetCode】剑指 Offer 07. 重建二叉树
  5. 改变support中AlertDialog的样式
  6. 灰度MANA信托增持729.04万MANA,FIL持仓增长185%
  7. windows环境下unicode编程总结
  8. 最近做了个数据采集的工具
  9. 20.大型网站典型故障分析
  10. 北京地铁线路规划程序
  11. 轻量化html编辑器,建站“一气呵成” 推荐7大免费网页编辑器
  12. 大数据告诉你,中国今年最火打卡圣地竟然是它!
  13. 生成android使用的BKS证书
  14. {“errcode“:48001,“errmsg“:“api unauthorized, hints: [ req_id: xxxxxxx]“}
  15. python ddt mysql_40- 数据驱动(ddt)
  16. 不用全局plugin,项目在哭泣
  17. 鸿蒙系统跑分对比骁龙强吗,iQOO Z3 手机骁龙 768G 跑分对比天玑 1000+
  18. win10 sdk各种版本下载地址
  19. 什么是BIOS?为什么开机先从BIOS开始?以及操作系统启动过程
  20. 最新!2021中国大学排名发布:清/北/浙大/上交/武大居前五

热门文章

  1. drupal 8 php filter,Drupal 7 与 Drupal 8 的一些变化
  2. 自学python网站-python自学网站
  3. Java多线程并发笔记01 对象锁 类锁 对象锁的同步和异步 脏读
  4. 论文阅读|目标检测之CE-FPN,将通道增强运用到上采样,减少信息丢失,同时添加了通道注意力机制
  5. python爬虫的线程、进程、异步的基础讲解
  6. seo具体怎么优化-优化SEO的方法
  7. 用友u8 如何配置文件服务器,用友u8服务器软件配置
  8. 计算机msvcp100.dll,msvcp100.dll丢失怎样修复
  9. 教育培训行业的SOP
  10. 一位大牛对于写技术博客的一些建议