Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- """
- Problem Link: https://leetcode.com/problems/spiral-matrix-ii/
- Language:
- Python
- Params:
- n: Int
- Return:
- 2D intager list
- Complexity Analysis:
- Space: O(nˆ2)
- Time: (nˆ2)
- Outer while loop and inner for loops
- takes (nˆ2) time to execute.
- """
- class Solution:
- def generateMatrix(self, n: int) -> List[List[int]]:
- matrix = []
- for _ in range(n):
- matrix.append([0]*n)
- left, right, up, down = 0, n-1, 0, n-1
- curr_num = 0
- while curr_num < n*n:
- for curr_index in range(left, right+1):
- curr_num += 1
- matrix[left][curr_index] = curr_num
- for curr_index in range(up+1, down+1):
- curr_num += 1
- matrix[curr_index][right] = curr_num
- for curr_index in range(right-1, left-1, -1):
- curr_num += 1
- matrix[down][curr_index] = curr_num
- for curr_index in range(down-1, up, -1):
- curr_num += 1
- matrix[curr_index][left] = curr_num
- left += 1
- right -= 1
- up += 1
- down -= 1
- return matrix
Add Comment
Please, Sign In to add comment