java數(shù)據(jù)結(jié)構(gòu)與算法刷題目錄(劍指Offer、LeetCode、ACM)-----主目錄-----持續(xù)更新(進(jìn)不去說(shuō)明我沒(méi)寫完):https://blog.csdn.net/grd_java/article/details/123063846 |
---|
文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-824567.html
解題思路 |
---|
- 這道題只要換一種理解方式,瞬間就會(huì)變的很簡(jiǎn)單。
- 題目描述是每個(gè)元素左上和右下對(duì)角線元素都相同。但是,我們發(fā)現(xiàn)除了第一行和第一列外,每個(gè)元素的左上角元素都與它相同。
- 所以這道題可以換一種理解方式。
除了第一行和第一列的元素以外的元素,如果左上角的元素和它不一樣,那就不是托普利茲矩陣
代碼:時(shí)間復(fù)雜度O(n*m) 空間復(fù)雜度O(1) |
---|
文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-824567.html
class Solution {
public boolean isToeplitzMatrix(int[][] matrix) {
int m = matrix.length, n = matrix[0].length;//獲取行和列
//從第二行第二列開始,判斷是否和左上角元素一致,如果不是,則不滿足條件
//因?yàn)榈谝恍泻偷谝涣袥](méi)有左上角元素,所以跳過(guò)
for(int i = 1;i<m;i++){
for(int j = 1; j<n;j++){
if(matrix[i][j] != matrix[i-1][j-1]) return false;
}
}
//如果每個(gè)元素,都滿足和左上角元素一致,那么返回true
return true;
}
}
到了這里,關(guān)于java數(shù)據(jù)結(jié)構(gòu)與算法刷題-----LeetCode766. 托普利茨矩陣的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!