• 算法——托普利茨矩阵


    托普利茨矩阵

    # 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!
  • 相关阅读:
    Linux目录结构
    让访问pc端的官网直接跳转到移动端的网站代码
    bootstrap悬浮顶部或者底部
    Linux命令总结
    微信扫描打开APP下载链接提示代码优化
    iframe高度自适应的6个方法
    JS移动客户端--触屏滑动事件
    老师总结数据库
    函数
    go4
  • 原文地址:https://www.cnblogs.com/noonjuan/p/11119820.html
Copyright © 2020-2023  润新知