題目描述:
如果矩陣上每一條由左上到右下的對角線上的元素都相同,那麼這個矩陣是 托普利茨矩陣 。
給定乙個 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]範圍內。
高階:
如果矩陣儲存在磁碟上,並且磁碟記憶體是有限的,因此一次最多只能將一行矩陣載入到記憶體中,該怎麼辦?
如果矩陣太大以至於只能一次將部分行載入到記憶體中,該怎麼辦?
方法1:
主要思路:
(1)在不越界的情況下,將當前字元和左上角字元比較,若不相等,則直接返回false;
class
solution
//遍歷元素,看和左上角元素是否相等
for(
int i=
1;isize()
;++i)}}
return
true;}
};
766 托普利茨矩陣
鏈結 如果乙個矩陣的每一方向由左上到右下的對角線上具有相同元素,那麼這個矩陣是托普利茨矩陣。給定乙個 m x n 的矩陣,當且僅當它是托普利茨矩陣時返回 true。示例 1 輸入 matrix 1,2,3,4 5,1,2,3 9,5,1,2 輸出 true 解釋 在上述矩陣中,其對角線為 9 5,5...
766 托普利茨矩陣
給你乙個 m x n 的矩陣 matrix 如果這個矩陣是托普利茨矩陣,返回 true 否則,返回 false 如果矩陣上每一條由左上到右下的對角線上的元素都相同,那麼這個矩陣是 托普利茨矩陣 示例 1 輸入 matrix 1,2,3,4 5,1,2,3 9,5,1,2 輸出 true 解釋 在上述...
766 托普利茨矩陣
給你乙個 m x n 的矩陣 matrix 如果這個矩陣是托普利茨矩陣,返回 true 否則,返回 false 如果矩陣上每一條由左上到右下的對角線上的元素都相同,那麼這個矩陣是 托普利茨矩陣 開始是想利用迴圈,通過座標變換的形式把矩陣遍歷一遍,這樣做每個位置基本上只用遍歷一遍,執行起來快一些,代價...