首页 > 其他分享 >js.旋转图像

js.旋转图像

时间:2024-10-12 14:22:37浏览次数:3  
标签:matrix 矩阵 旋转 let 数组 图像 js

 链接:48. 旋转图像 - 力扣(LeetCode)

题目:

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

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

示例 1:

输入:matrix = [[1,2,3],[4,5,6],[7,8,9]]
输出:[[7,4,1],[8,5,2],[9,6,3]]

示例 2:

输入: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

思路:

这是矩阵、数组相关的题目,首先应该想到的是找规律。

看这一题,思考旋转90度前后的规律,n为数组长度-1。

很容易发现,第 j(4,3,2……)列的数据为原始数组的第 n - j 行。

如图:

 代码:

/**

 * @param {number[][]} matrix

 * @return {void} Do not return anything, modify matrix in-place instead.

 */

var rotate = function(matrix) {

    let m = JSON.parse(JSON.stringify(matrix))

   // 深拷贝得到m新数组

    let n = matrix.length-1  //n为数组长度-1

    for(let j = n ; j>=0 ; j--){

        for(let i = 0 ; i<=n ; i++ ){

            matrix[i][j] = m[n-j][i]

        }           

         // 让数组的第j列的值等于原始数组的第n-j行

    }

};

标签:matrix,矩阵,旋转,let,数组,图像,js
From: https://blog.csdn.net/qq_62541773/article/details/142873599

相关文章

  • 前后端分离nodejs_vue+javascript个人身体健康档案管理系统
    目录技术栈具体实现截图开发工具和技术简介错误处理和异常处理nodejs类核心代码部分展示解决的思路其他题目推荐源码获取/联系我技术栈该系统将采用B/S结构模式,开发软件有很多种可以用,本次开发用到的软件是vscode,用到的数据库是MySQL,为了更加便捷地使用数据库,用到了......
  • Nuxt.js 应用中的 ready 事件钩子详解
    title:Nuxt.js应用中的ready事件钩子详解date:2024/10/12updated:2024/10/12author:cmdragonexcerpt:ready钩子是Nuxt.js中一个重要的生命周期事件,它在Nuxt实例初始化完成后被调用。当Nuxt已经准备好并准备开始处理请求或渲染页面时,这一钩子会被触发。cate......
  • js 数学计算精度库 比较
    统计时间取自2024/10/12以下三个库均由mikemcl大神/团队提供,所以不存在好坏,需求区别使用场景。库名/特点big.jsbignumber.jsdecimal.jsnpm周下载量16,625,95210,686,81915,641,683库大小58.7kb351kb283kb近期是否更新一个月一年内两年内基数......
  • jsp高校图书管理系统设计2z87z
    jsp高校图书管理系统设计2z87z本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表项目功能用户,图书分类,图书信息,图书借阅,还书信息开题报告内容一、项目背景与意义随着信息技术的飞速发展,高校图书管理正逐......
  • jsp高校外聘人员管理系统v9dt3
    jsp高校外聘人员管理系统v9dt3本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表项目功能部门信息,招聘计划,聘用人员,合同信息,员工,人事部,人员离职,员工薪资,工资发放,人员流动技术要求:   开发语言:JS......
  • jsp高校师生交流信息系统dvx5d
    jsp高校师生交流信息系统dvx5d系统程序文件列表  项目功能学生,教师,课程信息,选课信息,学生成绩,学术资料,资料类型技术要求: 开发语言:JSP前端使用:HTML5,CSS,JSP动态网页技术后端使用SpringBoot,Spring技术主数据库使用MySQL开题报告内容一、项目背景与意义......
  • C# 后端回传的Json数据转换为实体对象转换器JsonConverter的使用
    publicclassJsonDateTimeConverter:JsonConverter<DateTime?>{privatereadonlystring_dateTimeFormat;publicJsonDateTimeConverter(stringdateTimeFormat){_dateTimeFormat=dateTimeFormat;}publicoverridevoidWri......
  • 基于JSP本科生毕业设计选题系统的设计与实现<免费开题>全套源码+文章lw+毕业设计+课程设
    基于JSP本科生毕业设计选题系统的设计与实现<免费开题>全套源码+文章lw+毕业设计+课程设计+数据库+ppt摘要随着高校信息化管理系统平台的广泛应用,文件信息的传递不再受到时间和空间的制约,毕业设计是高校教学管理的重要工作内容之一,随着高校毕业设计数量的逐年递增,毕业设计......
  • vscode调试launch.json
    {//使用IntelliSense了解相关属性。//悬停以查看现有属性的描述。//欲了解更多信息,请访问:https://go.microsoft.com/fwlink/?linkid=830387"version":"0.2.0","configurations":[{"name":"Python:......
  • 替换掉js后重启nginx 页面加载后js还是原来的 解决方法.【js版本号】【js不生效】【js
    替换掉js后重启nginx页面加载后js还是原来的解决方法.【js版本号】【js不生效】【js失效】产品升级,部署js后,前端页面加载不生效,F12NetWork查看js源码还是原来的内容。但是查看前端服务器上js已经是最新版本。(一般是浏览器缓存导致,清除浏览器缓存即可,但是对于用户来说,只会用,有......