LeetCode #1260. Shift 2D Grid
题目
解题方法
对原矩阵中的每个位置,计算它shift k次之后的新位置,并写到新的矩阵空间中。
时间复杂度:O(mn)
空间复杂度:O(mn)
代码
class Solution:
def shiftGrid(self, grid: List[List[int]], k: int) -> List[List[int]]:
m = len(grid)
n = len(grid[0])
new_grid = [[0] * n for _ in range(m)]
for i in range(m):
for j in range(n):
new_i = (i + (j + k) // n) % m
new_j = (j + k) % n
new_grid[new_i][new_j] = grid[i][j]
return new_grid

浙公网安备 33010602011771号