摘要:復(fù)雜度思路注意循環(huán)條件。代碼注意循環(huán)條件,要用而不是除以,因?yàn)榫葴?zhǔn)換問題只有一行或者一列的時(shí)候,就不要再繼續(xù)搜索了
LeetCode[54] Spiral Matrix
Given a matrix of m x n elements (m rows, n columns), return all elements of the matrix in spiral order.
For example,
Given the following matrix:
[ [ 1, 2, 3 ], [ 4, 5, 6 ], [ 7, 8, 9 ] ]
You should return [1,2,3,6,9,8,7,4,5].
復(fù)雜度
O(MN), O(1)
思路
注意循環(huán)條件。
代碼
public ListspiralOrder(int[][] matrix) { List res = new LinkedList<>(); int count = 0; int rowlen = matrix.length; if(rowlen == 0) return res; int collen = matrix[0].length; //注意循環(huán)條件,要用*而不是除以,因?yàn)榫葴?zhǔn)換問題; while(count * 2 < rowlen && count * 2 < collen) { for(int i = count; i < collen - count; i ++) { res.add(matrix[count][i]); } for(int i = count + 1; i < rowlen - count; i ++) { res.add(matrix[i][collen - 1 - count]); } //只有一行或者一列的時(shí)候,就不要再繼續(xù)搜索了; if(rowlen - count * 2 == 1 || collen - count * 2 == 1) break; for(int i = collen - 2 - count; i >= count; i --) { res.add(matrix[rowlen - 1- count][i]); } for(int i = rowlen - count - 2; i >= count + 1; i --) { res.add(matrix[i][count]); } count ++; } return res; }```
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/66135.html
摘要:螺旋矩陣給定一個(gè)包含個(gè)元素的矩陣行列,請(qǐng)按照順時(shí)針螺旋順序,返回矩陣中的所有元素。每次轉(zhuǎn)向或都會(huì)自減。循環(huán)可操作性很高,可以直接操作索引坐標(biāo)改變遍歷方式,不再贅述。 54:Spiral Matrix 螺旋矩陣 Given a matrix of m x n elements (m rows, n columns), return all elements of the matrix i...
摘要:螺旋矩陣給定一個(gè)包含個(gè)元素的矩陣行列,請(qǐng)按照順時(shí)針螺旋順序,返回矩陣中的所有元素。每次轉(zhuǎn)向或都會(huì)自減。循環(huán)可操作性很高,可以直接操作索引坐標(biāo)改變遍歷方式,不再贅述。 54:Spiral Matrix 螺旋矩陣 Given a matrix of m x n elements (m rows, n columns), return all elements of the matrix i...
摘要:題目要求按照順時(shí)針方向旋轉(zhuǎn)訪問數(shù)組中的元素思路一按行遍歷,轉(zhuǎn)化為因?yàn)椴辉试S跳躍插入,也就是說如果插入的大于的,就會(huì)報(bào)出。思路二利用順序插入為了避免類型轉(zhuǎn)化帶來的不必要的性能下降,最好直接利用順序插入,一次遍歷數(shù)組。 題目要求 Given a matrix of m x n elements (m rows, n columns), return all elements of the ...
摘要:題目要求也就是將遞加的數(shù)字按照順時(shí)針的順序依次填入數(shù)組之中這道題目聯(lián)系到,其實(shí)就相當(dāng)好解決了。 題目要求 Given an integer n, generate a square matrix filled with elements from 1 to n2 in spiral order. For example, Given n = 3, You should return...
摘要:代碼添加該圈第一行添加最后一列添加最后一行添加第一列如果是奇數(shù),加上中間那個(gè)點(diǎn)后續(xù)如果在中,給出的是和來代表行數(shù)和列數(shù),該如何解決和的本質(zhì)區(qū)別就是一個(gè)是任意長(zhǎng)方形,一個(gè)是正方形,所以中不需要判斷最后一行或者最后一列。 Spiral Matrix I Given a matrix of m x n elements (m rows, n columns), return all ele...
閱讀 2315·2021-09-28 09:45
閱讀 3599·2021-09-24 09:48
閱讀 2266·2021-09-22 15:49
閱讀 3099·2021-09-08 16:10
閱讀 1592·2019-08-30 15:54
閱讀 2327·2019-08-30 15:53
閱讀 3021·2019-08-29 18:42
閱讀 2873·2019-08-29 16:19