アルゴリズム-トプリッツ行列
4733 ワード
トプリッツ行列
転載先:https://www.cnblogs.com/noonjuan/p/11119820.html
# ToeplitzMatrix
class Solution:
def is_toeplitz_matrix(self, matrix):
for i in range(len(matrix[0])):
for v in range(1, len(matrix)):
try:
if matrix[0][i] != matrix[v][i+v]:
return False
except:
break
for i in range(1, len(matrix)):
count = 1
for v in range(i+1, len(matrix)):
try:
if matrix[i][0] != matrix[v][count]:
return False
count += 1
except:
break
return True
def is_toeplitz_matrix_easy(self, matrix):
#
n = len(matrix) # rows
m = len(matrix[0]) # cols
for r in range(1, n):
if matrix[r][1:] != matrix[r-1][:m-1]:
return False
return True
if __name__ == '__main__':
matrix1 = [
[1, 2, 3, 4],
[5, 1, 2, 3],
[9, 5, 1, 2]
]
matrix2 = [
[1, 2],
[2, 2]
]
matrix3 = [
[41, 45],
[81, 41],
[73, 81],
[47, 73],
[0, 47],
[79, 76]
]
print(Solution().is_toeplitz_matrix(matrix1))
print(Solution().is_toeplitz_matrix(matrix2))
print(Solution().is_toeplitz_matrix(matrix3))
print(Solution().is_toeplitz_matrix_easy(matrix1))
print(Solution().is_toeplitz_matrix_easy(matrix2))
print(Solution().is_toeplitz_matrix_easy(matrix3))
転載先:https://www.cnblogs.com/noonjuan/p/11119820.html