Skip to content

Latest commit

 

History

History
32 lines (24 loc) · 778 Bytes

1260. 二维网格迁移.md

File metadata and controls

32 lines (24 loc) · 778 Bytes

1260. 二维网格迁移

题目传送门

点击这里

解题思路

简单题,可以通过示例看出规律,即一维数组的向右循环移动,所以可以通过索引模拟做出该题。

代码

func shiftGrid(grid [][]int, k int) [][]int {
    // 有规律可言,看成是一维数组在向右循环移动一次
    m, n := len(grid), len(grid[0])
    ans := make([][]int, m)
    for i := range ans {
        ans[i] = make([]int, n)
    }
    for i, r := range grid {
        for j, v := range r {
            // 第i行第j个,也就是i * n + j,再加上移动的k次
            ni := (i * n + j + k) % (m * n)
            ans[ni / n][ni % n] = v
        }
    }
    return ans
}