zoukankan      html  css  js  c++  java
  • 托普利茨矩阵

    如果一个矩阵的每一方向由左上到右下的对角线上具有相同元素,那么这个矩阵是托普利茨矩阵。

    给定一个 M x N 的矩阵,当且仅当它是托普利茨矩阵时返回 True。

    示例 1:

    输入:
    matrix = [
    [1,2,3,4],
    [5,1,2,3],
    [9,5,1,2]
    ]
    输出: True
    解释:
    在上述矩阵中, 其对角线为:
    "[9]", "[5, 5]", "[1, 1, 1]", "[2, 2, 2]", "[3, 3]", "[4]"。
    各条对角线上的所有元素均相同, 因此答案是True。
    示例 2:

    输入:
    matrix = [
    [1,2],
    [2,2]
    ]
    输出: False
    解释:
    对角线"[1, 2]"上的元素不同。
    说明:

    matrix 是一个包含整数的二维数组。
    matrix 的行数和列数均在 [1, 20]范围内。
    matrix[i][j] 包含的整数在 [0, 99]范围内。
    进阶:

    如果矩阵存储在磁盘上,并且磁盘内存是有限的,因此一次最多只能将一行矩阵加载到内存中,该怎么办?
    如果矩阵太大以至于只能一次将部分行加载到内存中,该怎么办?

    解答:

    class Solution:
    def isToeplitzMatrix(self, matrix):
    # m行
    m = len(matrix)
    # n列
    n = len(matrix[0])
    for i in range(m):
    for j in range(n):
    if matrix[i][j] != matrix[i+1][j+1]:
    return False
    return True



    matrix = [[1,2,3,4], [5,1,2,3], [9,5,1,2]]
    solu = Solution()
    print(solu.isToeplitzMatrix(matrix))
  • 相关阅读:
    async await 了解
    vi 命令
    mysql 相关操作
    mac下配置python的虚拟环境virtualenv和虚拟环境管理包virtualenvwrapper
    ip 域名 和端口号
    脱离 flask 上下文,使用 jinja2 来动态渲染模板
    使用 vue-cli 3.0 创建项目
    p 标签和 span 标签
    el-table 更改表格行高和列髋
    使用 axios 传参问题
  • 原文地址:https://www.cnblogs.com/zbligang/p/10413431.html
Copyright © 2011-2022 走看看