• 1042. 托普利兹矩阵


    1042. 托普利兹矩阵

    中文English

    “托普利兹矩阵”是指如果从左上角到右下角的同一条主斜线上每个元素都相等的矩阵.

    给定一个M x N矩阵,判断是否为“托普利兹矩阵”.

    样例

    样例 1:
    
    输入: matrix = [[1,2,3,4],[5,1,2,3],[9,5,1,2]]
    输出: True
    解释:
    1234
    5123
    9512
    
    在上述矩阵中,主斜线上元素分别为 "[9]", "[5, 5]", "[1, 1, 1]", "[2, 2, 2]", "[3, 3]", "[4]", 每一条主斜线上元素都相等,所以返回`True`.
    
    
    样例 2:
    
    输入: matrix = [[1,2],[2,2]]
    输出: False
    解释:
    主斜线 "[1, 2]" 有不同的元素.
    

    注意事项

    1. matrix 是一个二维整数数组.
    2. matrix 的行列范围都为 [1, 20].
    3. matrix[i][j] 的整数取值范围为[0, 99].
    输入测试数据 (每行一个参数)如何理解测试数据?
    class Solution:
        """
        @param matrix: the given matrix
        @return: True if and only if the matrix is Toeplitz
        """
        '''
        大致思路:
        1.首先外层大循环,循环matrix[0],检测右下方(x += 1,y += 1),是否和当前的值一样,len(matrix[0])有多少个则需要循环检测多少次。
        内部循环条件:
        while x+1 < len(matrix[0]) and y+1 < len(matrix) ,循环直到边缘处就跳出,继续外层大循环。
        给定初始比较值column,然后和下一个值即matrix[x+1][y+1]进行比较,如果不相等,直接return False,否则返回True
        '''
        def isToeplitzMatrix(self,matrix):
            x,y = 0,0
            for column in matrix[0]:
                #内层循环,下一值和当前值进行比较
                while x+1 < len(matrix[0]) and y+1 < len(matrix):
                    x += 1
                    y += 1
                    if matrix[x][y] != column:
                        return False
            return True
  • 相关阅读:
    HDU-1875-畅通工程再续(最小生成树)
    HDU-1325-Is It A Tree?(并查集+有向树)
    HDU-2473-Junk-Mail Filter(并查集删除)
    HDU-1233-还是畅通工程(最小生成树)
    POJ-2492-A Bug's Life(并查集分类)
    asp.net core 中KindEditor的使用
    使用FormsAuthenticationTicket进行登陆验证
    c#生成随机字符串
    string.Format对C#字符串格式化
    在Ubuntu上使用noip动态域名的方法(ddns)
  • 原文地址:https://www.cnblogs.com/yunxintryyoubest/p/12604237.html
Copyright © 2020-2023  润新知