파비의 매일매일 공부기록

2023.05.10 Today's Challenge 본문

Problem Solving/LeetCode

2023.05.10 Today's Challenge

fabichoi 2023. 5. 10. 23:45

https://leetcode.com/problems/spiral-matrix-ii/

 

Spiral Matrix II - LeetCode

Can you solve this real interview question? Spiral Matrix II - Given a positive integer n, generate an n x n matrix filled with elements from 1 to n2 in spiral order.   Example 1: [https://assets.leetcode.com/uploads/2020/11/13/spiraln.jpg] Input: n = 3 O

leetcode.com

예전에 결국 못풀었던 문제가 여기서 나오네 =_=;

class Solution:
    def generateMatrix(self, n: int) -> List[List[int]]:
        if not n:
            return []
        matrix = [[0 for _ in range(n)] for _ in range(n)]
        l, r, t, b, num = 0, n-1, 0, n-1, 1

        while l <= r and t <= b:
            for i in range(l, r+1):
                matrix[t][i] = num
                num += 1
            t += 1

            for i in range(t, b+1):
                matrix[i][r] = num
                num += 1            
            r -= 1

            if t <= b:
                for i in range(r, l-1, -1):
                    matrix[b][i] = num
                    num += 1
                b -= 1
            
            if l <= r:
                for i in range(b, t-1, -1):
                    matrix[i][l] = num
                    num += 1
                l += 1
            
        return matrix
반응형

'Problem Solving > LeetCode' 카테고리의 다른 글

2023.05.12 Today's Challenge  (0) 2023.05.12
2023.05.11 Today's Challenge  (0) 2023.05.11
2023.05.09 Today's Challenge  (0) 2023.05.09
2023.05.08 Today's Challenge  (0) 2023.05.08
2023.05.07 Today's Challenge  (0) 2023.05.07
Comments