1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| func isToeplitzMatrix(matrix [][]int) bool { if len(matrix) == 1 && len(matrix[0]) == 1 { return true } if len(matrix) < 2 || len(matrix[0]) < 2 { return true } for i := 0; i < len(matrix) || i < len(matrix[0]); i++ { if i < len(matrix[0]) { v1 := matrix[0][i] for row, col := 1, i+1; col < len(matrix[0]) && row < len(matrix); { if matrix[row][col] != v1 { return false } row++ col++ } }
if i < len(matrix) { v2 := matrix[i][0] for row, col := i+1, 1; row < len(matrix) && col < len(matrix[0]); { if matrix[row][col] != v2 { return false } row++ col++ } } } return true }
|