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

JS实现矩阵左右旋转90度

在做2048 有一个思想,进行数组反转

说一下要实现的目标,就把二维码当成一个平面,比如下面这个数组,进行左右滚动

1, 2, 3, 4
5, 6, 7, 8
9,10,11,12
13,14,15,16

让他左滚动

4,8,12,16
3,7,11,15
2,6,10,14
1,5, 9,13

让他 右滚动

13, 9,5,1
14,10,6,2
15,11,7,3
16,12,8,4

用js实现
function rotateQR(matrix, direction) {const m = matrix.length;    // 原矩阵行数const n = matrix[0].length; // 原矩阵列数// 初始化新矩阵:新行数 = 原列数,新列数 = 原行数const newMatrix = Array.from({ length: n }, () => Array(m).fill(null));for (let i = 0; i < n; i++) {for (let j = 0; j < m; j++) {if (direction === 'left') {// 左转90度:new[i][j] = 原矩阵[j][n-1-i]newMatrix[i][j] = matrix[j][n - 1 - i];} else if (direction === 'right') {// 右转90度:new[i][j] = 原矩阵[m-1-j][i]newMatrix[i][j] = matrix[m - 1 - j][i];}}}return newMatrix;
}// 使用示例
const qrMatrix = [[1, 2, 3,4],[ 5, 6,7,8],[9,10,11,12],[13,14,15,16]
];console.log("原矩阵:");
qrMatrix.forEach(row => console.log(row));console.log("\n左转90度:");
const leftRotated = rotateQR(qrMatrix, 'left');
leftRotated.forEach(row => console.log(row));console.log("\n右转90度:");
const rightRotated = rotateQR(qrMatrix, 'right');
rightRotated.forEach(row => console.log(row));
http://www.dtcms.com/a/290634.html

相关文章:

  • uniapp app pdf.js报错:Uncaught SyntaxError:Unexpected token ‘{‘
  • 5道挑战题writup
  • 单体VS微服务:如何选择最适合的架构?
  • 人工智能之数学基础:事件间的关系
  • Leetcode力扣解题记录--第189题(巧思数组翻转)
  • 【MySQL】Linux配置MySQL Windows远程连接
  • 客流分析核心算法 trajectory_event_analyzer数据结构
  • Python-数据库概念-pymysql-元编程-SQLAlchemy-学习笔记
  • QT6 源,七章对话框与多窗体(5) 文件对话框 QFileDialog 篇二:源码带注释
  • 【React】npm install报错npm : 无法加载文件 D:\APP\nodejs\npm.ps1,因为在此系统上禁止运行脚本。
  • 玩转Rocky Linux 9 部署Redis指南
  • WPF实现加载初始页面后跳转到主界面并销毁初始页面资源
  • 在 WPF 启动界面中心加载 GIF 动图
  • 人工智能真的能编程吗?研究勾勒出自主软件工程的障碍
  • Next.js 知识点
  • 【c++】leetcode438 找到字符串中所有字母异位词
  • GC9112低压单通道全桥驱动器芯片解析:小封装大能量
  • uniapp扫描二维码反色处理
  • 苍穹外卖DAY10
  • 阿里云监控及运维常见问题
  • MetaGPT源码剖析(一):MetaGPT框架下的多智能体协作项目——software_company.py
  • 安科瑞:能源微电网助力工业园区“绿色”发展
  • 数字孪生赋能智慧能源电力传输管理新模式
  • 光伏电站气象监测系统:为清洁能源高效发电保驾护航
  • Android 单编 framework 相关产物输出介绍
  • 如何在FastAPI中整合GraphQL的复杂度与限流?
  • jps用法整理
  • CSS的content属性妙用指南
  • 深度解析 HTML `loading` 属性:优化网页性能的秘密武器
  • 复习前端html,css,javascript