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]
. 방법: 귀속.
public class Solution {
private void spiral(int[][] matrix, int left, int top, int right, int bottom, List spirals) {
if (left > right || top > bottom) return;
else if (left == right && top == bottom) {
spirals.add(matrix[top][left]);
return;
} else if (left == right) {
for(int i=top; i<=bottom; i++) {
spirals.add(matrix[i][left]);
}
return;
} else if (top == bottom) {
for(int i=left; i<=right; i++) {
spirals.add(matrix[top][i]);
}
return;
} else {
for(int j=left; jleft; j--) spirals.add(matrix[bottom][j]);
for(int i=bottom; i>top; i--) spirals.add(matrix[i][left]);
spiral(matrix, left+1, top+1, right-1, bottom-1, spirals);
}
}
public List spiralOrder(int[][] matrix) {
List spirals = new ArrayList<>();
if (matrix.length == 0 || matrix[0].length == 0) return spirals;
spiral(matrix, 0, 0, matrix[0].length-1, matrix.length-1, spirals);
return spirals;
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
java 백엔드에서 데이터를 트리로 변환하고 맵은 json 트리를 생성하여 백엔드로 되돌려줍니다. (백엔드 변환)java 백엔드, 데이터를 트리로 변환하고,map는 json 트리를 생성하여 전방으로 되돌려줍니다(백엔드 변환) 1. 왜 이런 블로그를 쓰나요? 2.java 백엔드 코드 3. 전환된 데이터는 다음과 유사한 형식으로 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.