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

    托普利茨矩阵

    # ToeplitzMatrix 托普利茨矩阵
    class Solution:
        def is_toeplitz_matrix(self, matrix):
            for i in range(len(matrix[0])):
                for v in range(1, len(matrix)):
                    try:
                        if matrix[0][i] != matrix[v][i+v]:
                            return False
                    except:
                        break
            for i in range(1, len(matrix)):
                count = 1
                for v in range(i+1, len(matrix)):
                    try:
                        if matrix[i][0] != matrix[v][count]:
                            return False
                        count += 1
                    except:
                        break
            return True
    
        def is_toeplitz_matrix_easy(self, matrix):
            # 更简单的做法
            n = len(matrix)  # rows
            m = len(matrix[0])  # cols
            for r in range(1, n):
                if matrix[r][1:] != matrix[r-1][:m-1]:
                    return False
            return True
    
    
    
    if __name__ == '__main__':
        matrix1 = [
            [1, 2, 3, 4],
            [5, 1, 2, 3],
            [9, 5, 1, 2]
        ]
        matrix2 = [
            [1, 2],
            [2, 2]
        ]
        matrix3 = [
            [41, 45],
            [81, 41],
            [73, 81],
            [47, 73],
            [0, 47],
            [79, 76]
        ]
        print(Solution().is_toeplitz_matrix(matrix1))
        print(Solution().is_toeplitz_matrix(matrix2))
        print(Solution().is_toeplitz_matrix(matrix3))
    
        print(Solution().is_toeplitz_matrix_easy(matrix1))
        print(Solution().is_toeplitz_matrix_easy(matrix2))
        print(Solution().is_toeplitz_matrix_easy(matrix3))    
    Resistance is Futile!
  • 相关阅读:
    HDU 2460 Network 傻逼Tarjan
    HTTP状态码
    Spring Tool Suite(STS)安装
    Manajro17配置
    VsCode搭建Java开发环境
    《从零开始搭建游戏服务器》项目管理工具Maven
    Debian9安装MariaDB
    Intellij从无到有创建项目
    PostgreSQL 二进制安装
    Intellij IDEA创建项目
  • 原文地址:https://www.cnblogs.com/noonjuan/p/11119820.html
Copyright © 2011-2022 走看看