二维数组. 转置矩阵

2023-10-29

转自:二维数组. 转置矩阵 - 知乎

二维数组. 转置矩阵


Diamon
2 人赞同了该文章

867. 转置矩阵

给你一个二维整数数组 matrix, 返回 matrix 的 转置矩阵 。

矩阵的 转置 是指将矩阵的主对角线翻转,交换矩阵的行索引与列索引。

示例 1:

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

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

思路

  • 需要生成的一个新的矩阵(二维数组),它的行数是原矩阵的列数,它的列数是原矩阵的行数
  • 遍历,交换行列索引

复杂度分析

  • 时间复杂度:O(mn),其中 m 和 n 分别是矩阵matrix 的行数和列数。需要遍历整个矩阵,并对转置后的矩阵进行赋值操作。
  • 空间复杂度:O(mn)。(官网说是O(1),明显是错了)

Java实现

public int[][] transpose(int[][] matrix) {
        int m = matrix.length;
        int n = matrix[0].length;

        int[][] t = new int[n][m];
        for (int i = 0; i < m; i++) {
            for (int j = 0; j < n; j++) {
                // 交换行列索引
                t[j][i] = matrix[i][j];
            }
        }

        return t;
    }

Python实现

思路:R*C的矩阵变成C*R的矩阵,ans[c][r]=A[r][c]

class Solution(object):
    def transpose(self, A):
        R, C = len(A), len(A[0])
        ans = [[None] * R for _ in range(C)] #新矩阵 C行R列
        for r, row in enumerate(A):
            for c, val in enumerate(row):
                ans[c][r] = val
        return ans

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

二维数组. 转置矩阵 的相关文章

随机推荐

  • SPI通信原理和协议

    1 SPI原理超详细讲解 值得一看 https blog csdn net as480133937 article details 105764119 2 STM32 HAL库 STM32CubeMX教程十四 SPI https blog
  • 2021-11-11密码学

    对称密码体系中发送者和接收者使用同一个密钥加密和解密 对称 可逆 非对称密码体系中发送者使用接收者的公钥进行加密 接收者使用自己的私钥进行解密 非对称 五种对称加密算法总结 1 DES 已破解 不再安全 基本没有企业在用了 是对称加密算法的
  • idea 配置文件乱码修改

    Settings gt Editor gt File Encodings 设置统一编码
  • As 启动项目出现unsupported modules detected

    首先是出现如下情况 unsupported modules detected Compilation is not supported for following modules app Unfortunately you can t ha
  • python yield关键字全面解析

    你是否曾因处理的数据集过大而内存溢出 你是否曾因为处理各种复杂的函数状态而烦恼 It does help 本文聚焦yield generator 帮助你解锁python进阶技法 写出更优雅的程序 先导概念 为了更好的理解本篇推文的内容 读者
  • 计算机网络笔记七(数据链路层:帧、MTU、ARP协议)

    1 数据链路层 1 1主要功能 用于两个设备 同一种数据链路节点 之间进行信息传递 网络层和数据链路层对比 网络层是进行地址管理和路由选择的 它是为数据报的转发找出一条路来 而数据链路层解决的是两个结点直接的数据交换 接近于物理层的概念 1
  • 线性代数学习笔记——矩阵(二)(针对期末与考研)

    伴随矩阵 设 A a i j A a ij
  • wazuh初探系列一 : wazuh环境配置

    目录 方法一 一体化部署 安装先决条件 第一步 安装所有必需的软件包 第二步 安装Elasticsearch 1 添加 Elastic Stack 存储库 安装 GPG 密钥 添加存储库 更新源 2 Elasticsearch安装和配置 安
  • 建表时出现10654错误the right syntax to use near‘NUL COMMENT‘

    创建表时 出现 10654 You have an err in your SQl sytaxy check the manual that corresponds to your MySQL sever version for the r
  • 从零开始搭建创业公司后台技术栈

    转自 http ju outofmemory cn entry 351897 编辑 公众号程序员面试 前言 说到后台技术栈 脑海中是不是浮现的是这样一幅图 图 1 有点眼晕 以下只是我们会用到的一些语言的合集 而且只是语言层面的一部分 就整
  • 服务器虚拟化方需求分析报告,服务器虚拟化解决方案报告书.doc

    WORD格式可编辑 专业知识整理分享 服务器虚拟化解决方案 Citrix XenServer服务器虚拟化解决方案 1 1 方案综述 1 1 1服务器虚拟化的业务及应用需求 随着企业业务的飞速发展 越来越多的业务系统依赖于数据中心的支撑 其中
  • 泛微移动表单校验手机号跟邮箱

    泛微移动表单校验手机号跟邮箱 var iphoneVal f phone val 获取表单字段 var checkIphone d 1 345789 d
  • h5上下滑动动画效果(vue)

    1 详情介绍 图片可以使用网络图片 根据请求过来的图片来获取高度要控制滑动的位置 可以换成视频 要实现滑动播放视频的效果 并且可以在上面添加一些其他的功能 白色背景区域可以展示对应的数据 具体效果看文章末尾 2 编码介绍 template部
  • UNIX环境高级编程 学习笔记 第十九章 伪终端

    终端登录是经由终端设备进行的 终端设备天然提供终端语义 在终端和运行程序之间有一个终端行规程 通过该规程我们能设置终端特殊字符 如退格 行删除 中断等 但当一个登录请求到达网络连接时 终端行规程并不是自动被加载到网络连接和登录shell之间
  • VSCode在linux服务器下launch.json和tasks.json等文件配置

    前言 用win下的VSCode远程连接linux服务器后 就可以用VSCode运行linux下代码了 在编译运行代码前 按照VSCode的要求 我们要给编译和执行操作分别配置一堆参数 这就是launch json和tasks json配置的
  • Android WebView加载优化,Android WebView 优化页面加载效果

    目前带有Web功能的APP越来越多 为了能够更好的使用WebView展示页面 可以考虑做相关的优化 WebView 缓存 资源文件本地存储 客户端UI优化 目前webapp越来越多 体验也越来越好 为了能够更好的使用WebView展示出流畅
  • 深入解析Spring使用枚举接收参数和返回值机制并提供自定义最佳实践

    Spring对应枚举传参 返回值默认是用字面量实现的 实际情况更复杂 而 阿里巴巴Java开发手册 规定接口返回值不可以使用枚举类型 包括含枚举类型的POJO对象 为此 本文探究了Spring内部对枚举参数的传递和处理机制 并提供了一套自定
  • JULES模型

    参考文献 1 2020 Calibrating soybean parameters in JULES 5 0 from the US Ne2 3 FLUXNET sites and the SoyFACE O 3 expe 流程 2 20
  • 排序算法详解

    概述 冒泡排序 应用1 把数组排成最小的数 应用2 移动零到数组末尾 排序算法是一类非常经典的算法 说来简单 说难也难 刚学编程时大家都爱用冒泡排序 随后接触到选择排序 插入排序等 历史上还有昙花一现的希尔排序 公司面试时也经常会问到快速排
  • 二维数组. 转置矩阵

    转自 二维数组 转置矩阵 知乎 二维数组 转置矩阵 Diamon 2 人赞同了该文章 867 转置矩阵 给你一个二维整数数组 matrix 返回 matrix 的 转置矩阵 矩阵的 转置 是指将矩阵的主对角线翻转 交换矩阵的行索引与列索引