这是悦乐书的第332次更新,第356篇原创

01看题和准备

今天介绍的是LeetCode算法题中Easy级别的第202题(顺位题号是867)。给定矩阵A,返回A的转置。

矩阵的转置是在其主对角线上翻转的矩阵,切换矩阵的行和列索引。例如:

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

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



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

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

注意

  • 1 <= A.length <= 1000

  • 1 <= A [0] .length <= 1000

本次解题使用的开发工具是eclipse,jdk使用的版本是1.8,环境是win7 64位系统,使用Java语言编写和测试。

02解题

题目中所说的矩阵是一个二维数组,转置是将其行列元素互换,从两个例子中也可以看出来。将列换成行,行换成列即可。

此解法的时间复杂度是O(RxC),空间复杂度是O(RxC),R是二维数组的行,C是二维数组的列。

  1. public int[][] transpose(int[][] A) {
  2. int row = A.length, col = A[0].length;
  3. int[][] result = new int[col][row];
  4. for (int i=0; i<col; i++) {
  5. for (int j=0; j<row; j++) {
  6. result[i][j] = A[j][i];
  7. }
  8. }
  9. return result;
  10. }

03小结

算法专题目前已连续日更超过五个月,算法题文章202+篇,公众号对话框回复【数据结构与算法】、【算法】、【数据结构】中的任一关键词,获取系列文章合集。

以上就是全部内容,如果大家有什么好的解法思路、建议或者其他问题,可以下方留言交流,点赞、留言、转发就是对我最大的回报和支持!

LeetCode.867-转置矩阵(Transpose Matrix)的更多相关文章

  1. [Swift]LeetCode867. 转置矩阵 | Transpose Matrix

    Given a matrix A, return the transpose of A. The transpose of a matrix is the matrix flipped over it ...

  2. LeetCode 867. 转置矩阵

    题目链接:https://leetcode-cn.com/problems/transpose-matrix/ 给定一个矩阵 A, 返回 A 的转置矩阵. 矩阵的转置是指将矩阵的主对角线翻转,交换矩阵 ...

  3. Leetcode#867. Transpose Matrix(转置矩阵)

    题目描述 给定一个矩阵 A, 返回 A 的转置矩阵. 矩阵的转置是指将矩阵的主对角线翻转,交换矩阵的行索引与列索引. 示例 1: 输入:[[1,2,3],[4,5,6],[7,8,9]] 输出:[[1 ...

  4. 【LEETCODE】48、867. Transpose Matrix

    package y2019.Algorithm.array; /** * @ProjectName: cutter-point * @Package: y2019.Algorithm.array * ...

  5. 867. Transpose Matrix - LeetCode

    Question 867. Transpose Matrix Solution 题目大意:矩阵的转置 思路:定义一个转置后的二维数组,遍历原数组,在赋值时行号列号互换即可 Java实现: public ...

  6. 【Leetcode_easy】867. Transpose Matrix

    problem 867. Transpose Matrix solution: class Solution { public: vector<vector<int>> tra ...

  7. LeetCode(867)

    title: LeetCode(867) tags: Python Algorithm 题目描述 给定一个矩阵 A, 返回 A 的转置矩阵. 矩阵的转置是指将矩阵的主对角线翻转,交换矩阵的行索引与列索 ...

  8. 【一天一道LeetCode】#59. Spiral Matrix II

    一天一道LeetCode系列 (一)题目 Given an integer n, generate a square matrix filled with elements from 1 to n2 ...

  9. Leetcode 566. Reshape the Matrix 矩阵变形(数组,模拟,矩阵操作)

    Leetcode 566. Reshape the Matrix 矩阵变形(数组,模拟,矩阵操作) 题目描述 在MATLAB中,reshape是一个非常有用的函数,它可以将矩阵变为另一种形状且保持数据 ...

  10. [LeetCode] Transpose Matrix 转置矩阵

    Given a matrix A, return the transpose of A. The transpose of a matrix is the matrix flipped over it ...

随机推荐

  1. C#文件路径操作总结

    一.获取当前文件的路径 1.   System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName     获取模块的完整路径,包括 ...

  2. 22_1mybaits入门

    1.什么是框架? 它是我们软件开发中的一套解决方案,不同的框架解决的是不同的问题. 使用框架的好处: 框架封装了很多的细节,使开发者可以使用极简的方式实现功能.大大提高开发效率. 2.三层架构 表现层 ...

  3. u-boot中bss段的使用

    近日在调试uboot时,发现了一个现象,即在relocate_code前如果给未初始化或者初始化值为0的变量赋值的话,则在relocate_code后程序无法正常执行.经过学习,恶补如下知识 BSS段 ...

  4. Spring IOC -bean对象的生命周期详解

    生命周期执行的过程如下:1) spring对bean进行实例化,默认bean是单例2) spring对bean进行依赖注入3) 如果bean实现了BeanNameAware接口,spring将bean ...

  5. 集合综合练习<四>

    package com.JiHeTotal; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io. ...

  6. 百度地图api的简单应用(二):轻量级路径规划

    同上篇的原理,我们还是输入url,返回json文件. 而由图可见,路径规划返回的json文件内容可能会很多.杂: 因此后续的处理与上篇略有不同. import json import requests ...

  7. 浅谈Mybatis通用Mapper使用方法_java - JAVA

    文章来源:嗨学网 敏而好学论坛www.piaodoo.com 欢迎大家相互学习 对单表进行增删改查是项目中不可避免的需求,Mybatis的通用Mapper插件使这些操作变得简单 添加maven依赖 在 ...

  8. 设计模式-Interpreter(行为模式) 使用解释器给用户提供一个一门定义语言的语法表示的解释器,通过该解释器解释语言中的句子。

    //以下代码来源: 设计模式精解-GoF 23种设计模式解析附C++实现源码 //Context.h #pragma once class Context { public: Context(); ~ ...

  9. 状态管理-vuex

    1.使用vuex // 使用vuex // 第一步:装包npm i vuex -S // 第二步: import Vuex from 'vuex' Vue.use(Vuex) // 第三步: cons ...

  10. jsp+servlet怎么实现文件断点上传下载

    我们平时经常做的是上传文件,上传文件夹与上传文件类似,但也有一些不同之处,这次做了上传文件夹就记录下以备后用. 这次项目的需求: 支持大文件的上传和续传,要求续传支持所有浏览器,包括ie6,ie7,i ...