Leetcode766.Toeplitz Matrix託普利茨矩陣
阿新 • • 發佈:2018-11-09
如果一個矩陣的每一方向由左上到右下的對角線上具有相同元素,那麼這個矩陣是託普利茨矩陣。
給定一個 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]"上的元素不同。
說明:
- matrix 是一個包含整數的二維陣列。
- matrix 的行數和列數均在 [1, 20]範圍內。
- matrix[i][j] 包含的整數在 [0, 99]範圍內。
進階:
- 如果矩陣儲存在磁碟上,並且磁碟記憶體是有限的,因此一次最多隻能將一行矩陣載入到記憶體中,該怎麼辦?
- 如果矩陣太大以至於只能一次將部分行載入到記憶體中,該怎麼辦?
想複雜了。。就像思路被固定在一個箱子的範圍中,沒有開啟、、、
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; } };