1. 程式人生 > >Leetcode766.Toeplitz Matrix託普利茨矩陣

Leetcode766.Toeplitz Matrix託普利茨矩陣

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

給定一個 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]"上的元素不同。

說明:

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

進階:

  1. 如果矩陣儲存在磁碟上,並且磁碟記憶體是有限的,因此一次最多隻能將一行矩陣載入到記憶體中,該怎麼辦?
  2. 如果矩陣太大以至於只能一次將部分行載入到記憶體中,該怎麼辦?

 

想複雜了。。就像思路被固定在一個箱子的範圍中,沒有開啟、、、

 

 

class Solution {
public:
    bool isToeplitzMatrix(vector<vector<int>>& matrix) {
        int r = matrix.size();
        int c = matrix[0].size();
        for(int i = 1; i < r; i++)
        {
            for(int j = 1; j < c; j++)
            {
                if(matrix[i][j] != matrix[i - 1][j - 1])
                    return false;
            }
        }
        return true;
    }
};