LeetCode #1260. Shift 2D Grid

题目

1260. Shift 2D Grid


解题方法

对原矩阵中的每个位置,计算它shift k次之后的新位置,并写到新的矩阵空间中。
时间复杂度:O(mn)
空间复杂度:O(m
n)


代码

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
posted @ 2020-11-25 10:07  老鼠司令  阅读(61)  评论(0)    收藏  举报