A matrix is Toeplitz if every diagonal from top-left to bottom-right has the same element.
Now given an M x N
matrix, return True
if and only if the matrix is Toeplitz.
Example 1:
Input: matrix = [ [1,2,3,4], [5,1,2,3], [9,5,1,2] ] Output: True Explanation: In the above grid, the diagonals are: "[9]", "[5, 5]", "[1, 1, 1]", "[2, 2, 2]", "[3, 3]", "[4]". In each diagonal all elements are the same, so the answer is True.
Example 2:
Input: matrix = [ [1,2], [2,2] ] Output: False Explanation: The diagonal "[1, 2]" has different elements.
Note:
matrix
will be a 2D array of integers.matrix
will have a number of rows and columns in range [1, 20]
.matrix[i][j]
will be integers in range [0, 99]
.
Follow up:
class Solution { public boolean isToeplitzMatrix(int[][] matrix) { if (matrix == null){ return false; } if(matrix.length ==1){ return true; } for (int j = 0; j< matrix[0].length ; j++){ int tmp = matrix[0][j]; int cur_j = j+1; for(int i =1; i<matrix.length&& cur_j <matrix[0].length; i++){ //System.out.println(i+ " "+ cur_j ); if( matrix[i][cur_j++]!= tmp){ return false; } } } for(int i = 1; i<matrix.length; i++){ int tmp_1 = matrix[i][0]; int cur_i = i+1; for(int k = 1; k< matrix[0].length&& cur_i<matrix.length; k++){ if(matrix[cur_i++][k]!=tmp_1){ return false; } } } return true; } }
(Easy) Toeplitz Matrix - LeetCode
原文:https://www.cnblogs.com/codingyangmao/p/11467028.html