题目详情
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.如果一个矩阵的每一条斜对角线(左上到右下)上的元素都相等,则我们称它为托普利兹矩阵。现在输入一个M*N大小的矩阵,如果它是一个托普利兹矩阵,则返回true,如果不是,返回false。
Example 1:
Input: matrix = [[1,2,3,4],[5,1,2,3],[9,5,1,2]]
Output: True
Explanation:
1234
5123
9512
在上面的矩阵中, 矩阵的所有斜对角线为 "[9]", "[5, 5]", "[1, 1, 1]", "[2, 2, 2]", "[3, 3]", "[4]", 每一个对角线上的元素都相等,因此返回true。
Example 2:
Input: matrix = [[1,2],[2,2]]
Output: False
Explanation:
斜对角线 "[1, 2]" 元素的值不等,返回false。
想法
- 基本想法就是遍历每一个元素,同时比较这个元素和它右下角元素的值是否相等,如果不相等,直接返回false,停止遍历。
解法
public boolean isToeplitzMatrix(int[][] matrix) {
for(int i=0;i<matrix.length-1;i++){
for(int j=0;j<matrix[0].length-1;j++){
if(matrix[i][j] != matrix[i+1][j+1]){
return false;
}
}
}
return true;
}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。