牛客BM99-顺时针旋转矩阵-C++
一、运行结果
二、题目
有一个nxn整数矩阵,请编写一个算法,将矩阵顺时针旋转90度。
给定一个nxn的矩阵,和矩阵的阶数n,请返回旋转后的nxn矩阵。
数据范围:0 < n < 3000,矩阵中的值满足0≤val≤1000
要求:空间复杂度 O(n^2),时间复杂度 O(n^2)
进阶:空间复杂度 O(1),时间复杂度 O(n^2)
示例1
输入: [[1,2,3],[4,5,6],[7,8,9]],3
返回值: [[7,4,1],[8,5,2],[9,6,3]]
三、思路+代码
方法一:用一个同等规模的辅助矩阵,找出元素下标之前的映射关系,直接映射即可。
class Solution {
public:vector<vector<int> > rotateMatrix(vector<vector<int> > mat, int n) {int top=0, left=0, buttom= n-1, right = n-1;vector<vector<int>> ans(n,vector<int>(n));for(int i=0; i<n; i++){for(int j=0; j<n; j++){ans[i][j] = mat[n-j-1][i];}}return ans;}
};
方法二:原地旋转,每轮旋转四个位置的元素
class Solution {
public:vector<vector<int> > rotateMatrix(vector<vector<int> > mat, int n) {int top=0, left=0, buttom= n-1, right = n-1;for(int i=0; i<n/2; i++){for(int j=i; j<n-i-1; j++){int tmp = mat[i][j];//映射规律://右边的列号等于左边的行号,右边的行号等于 n-左边的列号-1mat[i][j] = mat[n-j-1][i]; mat[n-j-1][i] = mat[n-i-1][n-j-1]; mat[n-i-1][n-j-1] = mat[j][n-i-1]; mat[j][n-i-1] = tmp;}}return mat;}
};
牛客BM99-顺时针旋转矩阵-C++相关推荐
- 牛客题霸 [顺时针旋转矩阵] C++题解/答案
牛客题霸 [顺时针旋转矩阵] C++题解/答案 题目描述 有一个NxN整数矩阵,请编写一个算法,将矩阵顺时针旋转90度. 给定一个NxN的矩阵,和矩阵的阶数N,请返回旋转后的NxN矩阵,保证N小于等于 ...
- 【牛客刷题专栏】0x27:JZ29 顺时针打印矩阵(C语言编程题)
前言 个人推荐在牛客网刷题(点击可以跳转),它登陆后会保存刷题记录进度,重新登录时写过的题目代码不会丢失. 个人刷题练习系列专栏:个人CSDN牛客刷题专栏. 题目来自:牛客/题库 / 在线编程 / 剑 ...
- 牛客题霸题目及题解汇总
牛客题霸 单链表的选择排序 C++题解/答案 牛客题霸 最少素数拆分 C++题解/答案 牛客题霸 两数之和 C++题解/答案 牛客题霸 反转链表 C++题解/答案 牛客题霸 二分查找 C++题解/答案 ...
- 牛客题霸 转圈打印矩阵 C++题解/答案
牛客题霸 转圈打印矩阵 C++题解/答案 题目描述 给定一个整型矩阵matrix,请按照顺时针转圈的方式打印它. 示例1 输入 复制 [[1,2,3,4],[5,6,7,8],[9,10,11,12] ...
- 【牛客 - 331E】炫酷划线(权值线段树,树状数组哈希,随机数)
题干: 链接:https://ac.nowcoder.com/acm/contest/331/E 来源:牛客网 平面上有一个圆,圆环上按顺时针顺序分布着从1到n,一共n个点. 现在无聊的小希开始按某种 ...
- Java算法:牛客网Java版剑指Offer全套算法面试题目整理及电子档,Java算法与数据结构面试题,面试刷题、背题必备!牛客网剑指offer
剑指offer(java版) 牛客网Java版剑指Offer全套题目67道 资源来源于网络 目录 1.二维数组中的查找 2.替换空格 3.从尾到头打印链表 4.重建二叉树 5.用两个栈实现队列 6.旋 ...
- 牛客每日练习----合并回文串,年轮广场,安卓图案解锁
大提琴的声音就像一条河,左岸是我无法忘却的回忆,右岸是我值得紧握的璀璨年华,中间流淌的,是我年年岁岁淡淡的感伤. 链接:https://ac.nowcoder.com/acm/problem/1323 ...
- 牛客网算法教程-中级篇-第一章
文章目录 学习目标: 学习内容: 学习时间: 学习产出: 1.旋转词-模拟 2.旋转矩阵-模拟 3.数轴覆盖-贪心 4.1 完整字符串1(括号字符串的有效性)-栈 4.2 完整字符串2(缺失的括号)- ...
- 《牛客网 剑指Offer前20题》
<剑指Offer> 牛客网 前20道题 前言知识 面试题1:二维数组中的查找 面试题2:二维数组中的查找 面试题3:从头到尾打印链表 面试题4:重建二叉树 ***** 面试题5:两个栈实现 ...
最新文章
- CAN总线很难吗?CAN总线看不懂是不可能的!
- nginx 跨服务器显示图片,centos6.6下nginx配置远程服务器上图片访问
- linux驱动编写(platform总线和网卡驱动)
- idea导入项目常见异常处理
- STM8S003F3 内部flash调试
- [精简整理]疏通中国历史脉络——“隋、唐(五代十国)”篇
- 用qq的功能进行屏幕录制
- VBA·编译错误:ByRef参数类型不符
- Excel 2016不能双击一次性打开excel文件
- 学软件开发都要学哪些基础内容?
- Rasa课程、Rasa培训、Rasa面试、Rasa实战系列之Typo Robustness
- 如此声明数组正确吗?int n=10,a[n];如果这样呢?const int n =10;int a[n];
- 开机显示无法登录到你的账户解决方法(亲测)
- 实践+收藏版——Linux 性能优化知识点总结大全!
- Linux(Centos7)下,阿帕奇(Apache)服务器的安装与配置
- 电脑怎么卸载软件?彻底卸载软件,4个方法分享
- 很有创意的吐司折叠坐垫
- Twenty-ninth
- 全人类最冷的42个笑话
- 无向图的连通分支数(并查集)
热门文章
- matlab 向量_MatLab简易教程 #4.向量、矩阵操作命令
- 使用浏览器插件,下载网页中的图片
- 微软 Teams 可以排排坐了~~ C位你要不要?
- Elasticsearch:跨集群复制 Cross-cluster replication(CCR)
- 南加利福尼亚大学计算机博士,斑马博士|南加州大学(USC) MSc Electronic Engineering (Computer Network)...
- 锁存器Latch和触发器Flip-flop的区别
- 计算机专业的创意文案,抖音创意文案大全
- Oracle 查询:一小时内、一天内、一周内等
- DZ论坛+克米模板3.5版本全解密+教程
- JavPlayer 109 1.09 AI破坏马赛克