給你乙個 m x n 的矩陣 matrix 。如果這個矩陣是托普利茨矩陣,返回 true ;否則,返回 false 。
如果矩陣上每一條由左上到右下的對角線上的元素都相同,那麼這個矩陣是 托普利茨矩陣 。
示例 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]與下行的[1:]是否相等,若不相等則返回false
class
solution
:def
istoeplitzmatrix
(self, matrix: list[list[
int]])
->
bool
:for i in
range
(len
(matrix)-1
):# i表示二維矩陣中的一維矩陣的索引
if matrix[i][:
-1]!= matrix[i +1]
[1:]
:return
false
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 的矩陣,當且僅當它是托普利茨矩陣時返回 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 如果矩陣上每一條由左上到右下的對角線上的元素都相同,那麼這個矩陣是 托普利茨矩陣 開始是想利用迴圈,通過座標變換的形式把矩陣遍歷一遍,這樣做每個位置基本上只用遍歷一遍,執行起來快一些,代價...