作者: 负雪明烛
id: fuxuemingzhu
个人博客: http://fuxuemingzhu.cn/


题目地址:https://leetcode.com/problems/transpose-matrix/description/

题目描述

Given a matrix A, return the transpose of A.

The transpose of a matrix is the matrix flipped over it’s main diagonal, switching the row and column indices of the matrix.

Example 1:

Input: [[1,2,3],[4,5,6],[7,8,9]]
Output: [[1,4,7],[2,5,8],[3,6,9]]

Example 2:

Input: [[1,2,3],[4,5,6]]
Output: [[1,4],[2,5],[3,6]]

Note:

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

题目大意

把矩阵进行转置。

解题方法

先构建数组再遍历实现翻转

第一遍看这个题的时候,感觉挺难的。今天再次看的时候,突然想明白,所谓转置,就是把一个矩阵的行和列进行互换。因此这个题其实就是考察了,把一个原始矩阵通过行列元素互换得到新的矩阵。

那么只要我们新建一个行数等于原始列数,列数等于原始行数的矩阵,再对原始矩阵进行遍历即可。

时间复杂度是O(MN),空间复杂度是O(1).

代码如下:

class Solution:
def transpose(self, A):
"""
:type A: List[List[int]]
:rtype: List[List[int]]
"""
rows, cols = len(A), len(A[0])
res = [[0] * rows for _ in range(cols)]
for row in range(rows):
for col in range(cols):
res[col][row] = A[row][col]
return res

日期

2018 年 7 月 12 日 —— 天阴阴地潮潮,已经连着两天这样了
2018 年 11 月 5 日 —— 打了羽毛球,有点累

最新文章

  1. Android 防止多次点击事件
  2. JSON.net 在实体类中自定义日期的格式
  3. 【转】+【举例】ArcGIS中的坐标系统定义与投影转换
  4. [数据库事务与锁]详解五: MySQL中的行级锁,表级锁,页级锁
  5. IOS - Passbook
  6. C语言的判断语句
  7. 使用jprofiler8远程监控weblogic的配置方法
  8. vijos 1776 关押罪犯
  9. [转]Asp.Net MVC 扩展联想控件
  10. 转:为什么要使用NoSQL
  11. -_-#【JS】HTML5 API
  12. Oracle 补丁及opatch 工具介绍
  13. 如何:使用 Visual Basic 编写基于 Unity3D 的计算器
  14. HTML &lt;area&gt;&lt;map&gt;标签及在实际开发中的应用
  15. 关于&quot;net::ERR_CONNECTION_ABORTED&quot;和&quot;Firebug 达到了 Post 请求大小限制&quot;的问题
  16. 树莓派3B+ HDMI连接显示屏 因供电问题而不能进入系统
  17. hadoop移除节点的优雅方式
  18. centos7源码安装Python3的前提条件
  19. E325: ATTENTION
  20. Hbase记录-Hbase调优参数

热门文章

  1. 取gridview中textbox的值【C#】
  2. A Child&#39;s History of England.7
  3. 基于MQTT协议实现远程控制的&quot;智能&quot;车
  4. day04 Linux基础命令
  5. C语言内自定义汇编函数&amp;调用约定
  6. 最新的Android Sdk 使用Ant多渠道批量打包
  7. [学习总结]8、android 自定义控件 使用declare-styleable进行配置属性(源码角度)
  8. restful接口文档
  9. adb命令对app进行测试
  10. LINUX 系统性能检测工具vmstat