广告
返回顶部
首页 > 资讯 > 精选 >JavaScript旋转二维数组的方法
  • 660
分享到

JavaScript旋转二维数组的方法

2023-06-30 10:06:37 660人浏览 独家记忆
摘要

这篇文章主要讲解了“javascript旋转二维数组的方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“JavaScript旋转二维数组的方法”吧!一、题目描述给定一个 n &am

这篇文章主要讲解了“javascript旋转二维数组的方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“JavaScript旋转二维数组的方法”吧!

一、题目描述

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

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

示例 1:

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

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

JavaScript旋转二维数组的方法

示例 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]]

JavaScript旋转二维数组的方法

二、思路与实现

从示例图中就可以知道:

数组顺时针旋转 90 度之后,其实就是第1列变成第1行,第2列变成第2行,第3列变成第3行......

实现一:

var rotate = function (matrix) {let n = matrix.length;let res = new Array(n).fill(0).map(() => new Array(n).fill(0));for (let i = 0; i < n; i++)for (let j = n - 1; j >= 0; j--) res[i][n - j - 1] = matrix[j][i];return res;};

时间复杂度:O(N^2),其中N为matrix的边长
空间复杂度:O(N^2)。我们需要使用一个和 matrix 大小相同的辅助数组。

还有另外一种思路:

  • 按照左上到右下的对角线进行镜像对称

  • 对矩阵的每一行进行反转

比如这样:

JavaScript旋转二维数组的方法

var rotate = function (matrix) {let n = matrix.length;// 先沿对角线镜像对称二维矩阵for (let i = 0; i < n; i++) {for (let j = i; j < n; j++) {[matrix[i][j], matrix[j][i]] = [matrix[j][i], matrix[i][j]];}}const reverseRow = (arr) => {let i = 0,j = arr.length - 1;while (i <= j) {[arr[i], arr[j]] = [arr[j], arr[i]];i++;j--;}};// 然后反转二维矩阵的每一行for (let row of matrix) {reverseRow(row);}return matrix;};
  • 时间复杂度跟解法1一样,但是却不需要额外的空间复杂度

感谢各位的阅读,以上就是“JavaScript旋转二维数组的方法”的内容了,经过本文的学习后,相信大家对JavaScript旋转二维数组的方法这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

--结束END--

本文标题: JavaScript旋转二维数组的方法

本文链接: https://www.lsjlt.com/news/328230.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • JavaScript旋转二维数组的方法
    这篇文章主要讲解了“JavaScript旋转二维数组的方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“JavaScript旋转二维数组的方法”吧!一、题目描述给定一个 n &am...
    99+
    2023-06-30
  • JavaScript数组操作之旋转二维数组
    目录一、题目描述二、思路与实现三、总结一、题目描述 给定一个 n × n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90...
    99+
    2022-11-13
  • php怎么实现二维数组旋转
    本文操作环境:Windows7系统,PHP7.4版,Dell G3电脑。php怎么实现二维数组旋转?PHP二维数组矩形转置实例<php //二维数组转置 //定义一个二维数组 $arr =array(array...
    99+
    2014-09-26
    php
  • php如何实现二维数组旋转
    这篇文章主要介绍了php如何实现二维数组旋转,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。php实现二维数组旋转的方法:1、创建一个PHP示例文件;2、定义一个二维数组;3、...
    99+
    2023-06-22
  • php三维数组转为二维数组的方法
    这篇文章主要介绍了php三维数组转为二维数组的方法,具有一定借鉴价值,需要的朋友可以参考下。下面就和我一起来看看吧。php三维数组转为二维数组的方法:1、通过“foreach ($result as $key =>$v){...}”方...
    99+
    2023-06-15
  • php二维数组转一维数组的方法是什么
    将二维数组转换为一维数组的方法有多种。以下是一种常用的方法:```phpfunction flattenArray($arr) {$...
    99+
    2023-08-19
    php
  • php二维数组转化成一维数组的方法是什么
    可以使用array_merge()函数将二维数组转化为一维数组。以下是示例代码:```php$twoDimensionalArray...
    99+
    2023-09-29
    php
  • 聊聊php中二维数组的转化方法
    在PHP中,数组是一种非常常见的数据结构,也是处理数据的重要工具。在实际应用中,我们常常需要把一个二维数组转换成另外一个形式的数组。这个过程需要一些技巧和方法,本篇文章将为你介绍如何实现二维数组转化的方法。一、二维数组的定义首先,我们需要先...
    99+
    2023-05-14
    php php数组
  • JAVA——二维数组遍历二维数组的三种方法
    目录 🍒java中二维数组的定义和赋值 🍒二维数组遍历的三种方法 🍇第一种:for循环遍历 🍇第二种方法:通过Arrays.deepToString()遍历 🍇...
    99+
    2023-09-22
    java 开发语言
  • java实现二维数组转置的方法示例
    本文实例讲述了java实现二维数组转置的方法。分享给大家供大家参考,具体如下:这里在文件中创建Test2、Exchange、Out三个类在Exchange类中编写exchange()方法,在方法中创建两个数组arraryA、arraryB,...
    99+
    2023-05-31
    java 二维数组 ava
  • php中二维数组的转化方法有哪些
    本文小编为大家详细介绍“php中二维数组的转化方法有哪些”,内容详细,步骤清晰,细节处理妥当,希望这篇“php中二维数组的转化方法有哪些”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。一、二维数组的定义首先,我们需...
    99+
    2023-07-05
  • PHP二维数组排序的 方法
    关于排序一般我们都是通过数据库或者nosql(eg:redis)先排好序然后输出到程序里直接使用,但是有些时候我们需要通过PHP直接来对数组进行排序,而在PHP里存储数据用到最多的就是对象和数组,但处...
    99+
    2023-09-01
    php 开发语言 数据库
  • JS一维数组转化为三维数组方法
    有人提问想要将一维数组转化为三位数组的需求,下面就给提问的的小伙伴安排上 下面是后端同学返给我们的一维数组数据格式:     [{       '品牌': 'xiaomi', '机型...
    99+
    2022-11-13
  • PHP二维数组计算数组长度的方法
    本篇内容介绍了“PHP二维数组计算数组长度的方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一维数组的数组长度我们知道怎么获取,很简单,直...
    99+
    2023-06-20
  • python两个一维数组合成二维数组的方法是什么
    在Python中,可以使用zip()函数将两个一维数组合并成一个二维数组。zip()函数接受任意数量的可迭代对象作为参数,并返回一个...
    99+
    2023-09-06
    python
  • C#中二维数组的用法
    本篇内容主要讲解“C#中二维数组的用法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C#中二维数组的用法”吧!C#二维数组publicclassArray2D...{  publics...
    99+
    2023-06-18
  • JS一维和二维数组的创建和访问方法
    这篇文章主要讲解了“JS一维和二维数组的创建和访问方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“JS一维和二维数组的创建和访问方法”吧!一维数组的创建和...
    99+
    2022-10-19
  • chatgpt赋能python:Python二维数组的遍历方法
    Python二维数组的遍历方法 在Python中,二维数组(也称为矩阵)是由列表(list)嵌套而成的。它是在数据处理和科学计算中经常使用的数据结构之一。在实际应用中,我们经常需要对二维数组进行遍历来...
    99+
    2023-09-23
    chatgpt python 人工智能 计算机
  • java二维数组排序的方法是什么
    Java中可以使用Arrays类的sort方法对二维数组进行排序。具体步骤如下:1. 导入java.util.Arrays类。```...
    99+
    2023-10-10
    java
  • python二维数组声明的方法是什么
    在Python中,可以使用列表(list)的列表来表示二维数组。可以通过以下两种方法来声明一个二维数组: 使用嵌套列表的形式: ...
    99+
    2023-10-26
    python
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作