题目

描述
有一个NxN整数矩阵,请编写一个算法,将矩阵顺时针旋转90度。
给定一个NxN的矩阵,和矩阵的阶数N,请返回旋转后的NxN矩阵。
数据范围:0<n<300,矩阵中的值满足 0≤val≤1000
要求:空间复杂度 O(n2),时间复杂度 O(n2)
进阶:空间复杂度 O(1),时间复杂度 O(n2)

思路

镜像对称两次就好了,一次是关于主对角线镜像交换值,一次是关于中轴镜像交换值。

代码

python版本:

#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
#
# @param mat int整型二维数组
# @param n int整型
# @return int整型二维数组
#
class Solution:def rotateMatrix(self , mat: List[List[int]], n: int) -> List[List[int]]:# write code here# 经过两次对称镜像交换坐标就可以了# 第一次,关于左下对称轴镜像交换坐标for i in range(n):for j in range(i):mat[i][j], mat[j][i]=mat[j][i], mat[i][j]# 第二次,关于中轴交换坐标for i in range(n):for j in range(n//2):mat[i][j], mat[i][n-1-j]=mat[i][n-1-j], mat[i][j]return mat

c++版本:

牛客-顺时针旋转矩阵相关推荐

  1. 牛客题霸 [顺时针旋转矩阵] C++题解/答案

    牛客题霸 [顺时针旋转矩阵] C++题解/答案 题目描述 有一个NxN整数矩阵,请编写一个算法,将矩阵顺时针旋转90度. 给定一个NxN的矩阵,和矩阵的阶数N,请返回旋转后的NxN矩阵,保证N小于等于 ...

  2. 【牛客刷题专栏】0x27:JZ29 顺时针打印矩阵(C语言编程题)

    前言 个人推荐在牛客网刷题(点击可以跳转),它登陆后会保存刷题记录进度,重新登录时写过的题目代码不会丢失. 个人刷题练习系列专栏:个人CSDN牛客刷题专栏. 题目来自:牛客/题库 / 在线编程 / 剑 ...

  3. 牛客题霸题目及题解汇总

    牛客题霸 单链表的选择排序 C++题解/答案 牛客题霸 最少素数拆分 C++题解/答案 牛客题霸 两数之和 C++题解/答案 牛客题霸 反转链表 C++题解/答案 牛客题霸 二分查找 C++题解/答案 ...

  4. 牛客题霸 转圈打印矩阵 C++题解/答案

    牛客题霸 转圈打印矩阵 C++题解/答案 题目描述 给定一个整型矩阵matrix,请按照顺时针转圈的方式打印它. 示例1 输入 复制 [[1,2,3,4],[5,6,7,8],[9,10,11,12] ...

  5. 【牛客 - 331E】炫酷划线(权值线段树,树状数组哈希,随机数)

    题干: 链接:https://ac.nowcoder.com/acm/contest/331/E 来源:牛客网 平面上有一个圆,圆环上按顺时针顺序分布着从1到n,一共n个点. 现在无聊的小希开始按某种 ...

  6. Java算法:牛客网Java版剑指Offer全套算法面试题目整理及电子档,Java算法与数据结构面试题,面试刷题、背题必备!牛客网剑指offer

    剑指offer(java版) 牛客网Java版剑指Offer全套题目67道 资源来源于网络 目录 1.二维数组中的查找 2.替换空格 3.从尾到头打印链表 4.重建二叉树 5.用两个栈实现队列 6.旋 ...

  7. 牛客每日练习----合并回文串,年轮广场,安卓图案解锁

    大提琴的声音就像一条河,左岸是我无法忘却的回忆,右岸是我值得紧握的璀璨年华,中间流淌的,是我年年岁岁淡淡的感伤. 链接:https://ac.nowcoder.com/acm/problem/1323 ...

  8. 牛客网算法教程-中级篇-第一章

    文章目录 学习目标: 学习内容: 学习时间: 学习产出: 1.旋转词-模拟 2.旋转矩阵-模拟 3.数轴覆盖-贪心 4.1 完整字符串1(括号字符串的有效性)-栈 4.2 完整字符串2(缺失的括号)- ...

  9. 《牛客网 剑指Offer前20题》

    <剑指Offer> 牛客网 前20道题 前言知识 面试题1:二维数组中的查找 面试题2:二维数组中的查找 面试题3:从头到尾打印链表 面试题4:重建二叉树 ***** 面试题5:两个栈实现 ...

最新文章

  1. python3邮件_python3使用SMTP发送HTML格式邮件
  2. 【ABAP】采购申请自定义审批策略的实现
  3. HDFS配置Kerberos
  4. #中delay函数_ECBM系列教程3:闪烁灯——delay函数的用法。
  5. idea中没有j2ee_idea神器功能大全
  6. quantaxis使用docker安装,解决了一个很奇特的问题
  7. 浅谈Eclipse GEF
  8. ESP8266固件烧录
  9. Mybatis笔记 – Po映射类型
  10. sublime中的emmet插件的使用技巧
  11. 编译与运行、解释程序与编译程序
  12. Linux读取内核空间,linux,arm_arm如何在内核空间直接读写某个物理地址(或者进程的虚拟地址),linux,arm,c,linux-kernel,memory - phpStudy...
  13. 私信(聊天)功能 ajax长轮询实现
  14. Python第二阶段学习 day17
  15. 你能获得的数据量越大,你能挖掘到的价值就越多。
  16. qemu在window使用树莓派
  17. 计算机控制电缆灰色和蓝色,计算机电缆、控制电缆区别
  18. Web安全 学习笔记
  19. RSA加密解密C++实现
  20. 【春晚鬼畜】赵本山:我就是念诗之王!

热门文章

  1. 鲁大师电动车智能化测评报告第十二期
  2. Faster R-cnn中的RPN网络详细解释
  3. JQuery实现标签的删除与添加
  4. 【汽车】哈弗赤兔油耗如何调出来,解决方法
  5. GBase 8c数据库安全审计
  6. 9-Linux_系统介绍
  7. 使用事件代理实现vue的手风琴组件
  8. 计算机硬盘一直加载,win10硬盘一直读写怎么办_win10电脑一直在读写硬盘的解决方法...
  9. 贪吃的大嘴(多重背包问题)
  10. 基于AlexNet实现宠物小精灵(宝可梦)分类任务