当前位置: 首页 > news >正文

【leetcode】力扣算法之旋转图像【难度中等】

题目描述

给定一个 n × n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。

你必须在 原地 旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。

用例

输入: matrix = [[1,2,3],[4,5,6],[7,8,9]]
输出: [[7,4,1],[8,5,2],[9,6,3]]
在这里插入图片描述
输入: matrix = [[5,1,9,11],[2,4,8,10],[13,3,6,7],[15,14,12,16]]
输出: [[15,13,2,5],[14,3,4,1],[12,6,8,9],[16,7,10,11]]

在这里插入图片描述
提示

  • n == matrix.length == matrix[i].length
  • 1 <= n <= 20
  • -1000 <= matrix[i][j] <= 1000

代码示例

/*** @param {number[][]} matrix* @return {void} Do not return anything, modify matrix in-place instead.*/
var rotate = function(matrix) {const len=matrix.length;const temp=[]for(let i=0;i<len;i++){temp.push([])}for(let i=0;i<len;i++){let row=matrix[i];//当前行 换到最后一列 1 2 3// 换到最后一列for(let j=0;j<len;j++){temp[j][len-i-1]=row[j];}}for(let i=0;i<len;i++){matrix[i]=temp[i];}
};

执行情况:
在这里插入图片描述
tip:

其实该题的本质算是二维矩阵的转换,可以用草图尝试画出位置转换关系即可求解

http://www.lryc.cn/news/275861.html

相关文章:

  • 【Java集合类篇】HashMap的数据结构是怎样的?
  • Spring 应用合并之路(一):摸石头过河 | 京东云技术团队
  • Android13配置selinux让system应用可读sys,proc,SN号
  • 防勒索病毒攻击的关键措施
  • 代表团坐车 - 华为OD统一考试
  • 运用Jmeter进行登录测试
  • Docker学习与应用(四)-容器数据卷
  • CentOS 7.6下HTTP隧道代理的安全性考虑
  • Mockito+junit5搞定单元测试
  • PostgreSQL获取当天、昨天、本月、上个月、本年、去年的数据
  • XCTF:stage1[WriteUP]
  • STM32CubeMX教程13 ADC - 单通道转换
  • 矩阵的乘法
  • python爬取招聘网站数据
  • 灌区信息化方案(什么是现代化灌区,如何一步到位)
  • jmeter自动录制脚本功能
  • 十一、工具盒类(MyQQ)(Qt5 GUI系列)
  • postgresql 查询字段 信息
  • antv/x6_2.0学习使用(四、边)
  • C++ stack用法总结
  • 【大数据进阶第三阶段之Datax学习笔记】阿里云开源离线同步工具Datax概述
  • PHP 基础编程 2
  • git merge origin master 和 git merge origin/master 的区别
  • 数据挖掘 模糊聚类
  • Vue2和Vue3各自的优缺点以及区别对比
  • 手写一个加盐加密算法(java实现)
  • 基于Springboot的在线考试系统
  • 【React系列】JSX核心语法和原理
  • 【C++初阶(九)】C++模版(初阶)----函数模版与类模版
  • Permission denied