1. 程式人生 > >LeetCode 766. 託普利茨矩陣

LeetCode 766. 託普利茨矩陣

題目:

如果一個矩陣的每一方向由左上到右下的對角線上具有相同元素,那麼這個矩陣是託普利茨矩陣。

給定一個 M x N 的矩陣,當且僅當它是託普利茨矩陣時返回 True。

示例 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]" 上有不同的元素。

注意:

 matrix (矩陣)是一個包含整數的二維陣列。
matrix 的行數和列數均在 [1, 20]範圍內。
matrix[i][j] 包含的整數在 [0, 99]範圍內。

分析:

只需要對左上的(n-1)*(m-1)矩陣各元素進行判斷即可,
martaix[i][j]==martaix[i+1][j+1]?

java_code:

class Solution {
    public boolean isToeplitzMatrix(int[][] matrix) {
        int n=matrix.length;
        int
m=matrix[0].length; for(int i=0;i<n-1;i++){ for(int j=0;j<m-1;j++){ if(matrix[i][j]!=matrix[i+1][j+1]){ return false; } } } return true; } }