广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >JavaScript数组操作之旋转二维数组
  • 556
分享到

JavaScript数组操作之旋转二维数组

2024-04-02 19:04:59 556人浏览 八月长安
摘要

目录一、题目描述二、思路与实现三、总结一、题目描述 给定一个 n × n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90

一、题目描述

给定一个 n × 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]]

二、思路与实现

从示例图中就可以知道:

数组顺时针旋转 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 大小相同的辅助数组。

还有另外一种思路:

  • 按照左上到右下的对角线进行镜像对称
  • 对矩阵的每一行进行反转

比如这样:


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数组操作之旋转二维数组的文章就介绍到这了,更多相关js旋转二维数组内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: JavaScript数组操作之旋转二维数组

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

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

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

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

下载Word文档
猜你喜欢
  • JavaScript数组操作之旋转二维数组
    目录一、题目描述二、思路与实现三、总结一、题目描述 给定一个 n × n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90...
    99+
    2022-11-13
  • JavaScript旋转二维数组的方法
    这篇文章主要讲解了“JavaScript旋转二维数组的方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“JavaScript旋转二维数组的方法”吧!一、题目描述给定一个 n &am...
    99+
    2023-06-30
  • 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 的数组可以是单维数组、二维数组、多维数组等。在实际开发过程中,我们经常需要将二维数组转换为一维数组,以便更方便地遍历和处理数据。本文将介绍 PHP 中如...
    99+
    2023-05-23
  • php 一维数组转二维数组
    在 PHP 中,有时候会遇到将一个一维数组转换成二维数组的需求。例如,我们可能需要处理一个包含很多数据的一维数组,但是这些数据需要按照某种规则分组,这时候就需要将一维数组转换成二维数组。接下来我们来介绍一下如何实现一维数组转二维数组的方法。...
    99+
    2023-05-23
  • 一维数组转二维数组 php
    在 PHP 中,处理数组是极其常见的需求之一。有时候我们需要将一维数组转换成二维数组,这个过程可能涉及到多种数据操作,需要我们灵活运用数组函数来实现转换。本文将介绍一些在 PHP 中实现一维数组转换二维数组的方法和技巧。一、将一维数组转换成...
    99+
    2023-05-23
  • JavaScript怎么旋转数组
    本篇内容介绍了“JavaScript怎么旋转数组”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1.什么是旋...
    99+
    2022-10-19
  • es6二维数组如何转一维数组
    本篇内容介绍了“es6二维数组如何转一维数组”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ...
    99+
    2022-10-19
  • php二维数组转化为一维数组
    随着互联网的发展,网页开发也越来越受到关注。而其中最常用的编程语言之一就是PHP,它被广泛应用于网页的编写和数据库的交互。在PHP中,数组是一种非常重要的数据类型,它常常用来存储多个相关的值。在实际开发中,我们经常需要将一个二维数组转化为一...
    99+
    2023-05-19
  • php数组二维怎么转一维数组
    php数组二维转一维数组的方法:1、使用循环遍历,使用循环遍历二维数组,将每个元素添加到一维数组中;2、使用“array_merge”函数,可以将多个数组合并为一个数组,将二维数组当做参数传递给“array_merge”函数,将其转换为一维...
    99+
    2023-08-03
  • python一维数组怎么转二维数组
    可以使用numpy库中的reshape函数将一维数组转换为二维数组。假设一维数组名为arr,需要转换为m行n列的二维数组,则可以使用...
    99+
    2023-08-18
    python
  • php二维转一维数组
    随着互联网的发展,Web开发已经成为了现代编程中的重要组成部分。在Web开发中,PHP是广泛使用的编程语言之一。PHP有一个重要的特性,就是可以轻松地将二维数组转换为一维数组。这项功能在Web开发中非常实用,因为Web应用程序通常需要处理大...
    99+
    2023-05-23
  • php 二维数组转一维
    在 PHP 编程中,二维数组是一种常见的数据结构,它由多个数组组成,每个数组由多个元素组成。虽然二维数组可以帮助我们有效地组织数据,但在某些情况下,需要将二维数组转换为一维数组。在本文中,我们将介绍如何通过 PHP 代码将二维数组转换为一维...
    99+
    2023-05-23
  • php一维数组转二维
    PHP是一种广泛使用的脚本语言,可以轻松完成自动化任务、动态网站开发等。PHP中数组是非常常用的数据类型,一维数组和二维数组都是常见的。但是在处理数据时,我们可能需要将一维数组转换为二维数组,本文将介绍如何使用PHP进行转换。一、什么是一维...
    99+
    2023-05-23
  • php如何将二维数组转三维数组
    本文小编为大家详细介绍“php如何将二维数组转三维数组”,内容详细,步骤清晰,细节处理妥当,希望这篇“php如何将二维数组转三维数组”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。在php中,可以利用array_c...
    99+
    2023-06-30
  • php 二维数组转换
    在PHP编程中,数组是非常常用的数据结构。二维数组就是其中一种特殊类型的数组,它包含多个普通数组,每一个数组都是一行或者一列,由一组有序的数据组成。而在实际编写代码时,我们可能需要将二维数组进行转换。因此,本文将介绍PHP中二维数组的转换方...
    99+
    2023-05-23
  • php二维数组转xml
    PHP是一种流行的编程语言,它在Web开发中广泛使用。在许多情况下,我们需要将数据从一个格式转换为另一个格式。在本文中,我们将探讨如何将PHP中的二维数组转换为XML格式。首先,让我们看一下什么是二维数组。二维数组是指一个数组,其中包含多个...
    99+
    2023-05-24
  • php如何将二维数组转为一维数组
    本篇内容主要讲解“php如何将二维数组转为一维数组”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“php如何将二维数组转为一维数组”吧!php二维数组转为一维数组的方法:1、用array_colu...
    99+
    2023-06-21
  • php怎么将一维数组转为二维数组
    本教程操作环境:windows7系统、PHP7.1版、DELL G3电脑在php中,可以利用array_chunk()函数来将一维数组转为二维数组。示例:<php header("Content-type:text/html...
    99+
    2021-07-28
    php 数组 一维数组转二维数组
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作