leetcode-1260:二维网格迁移

简介: leetcode-1260:二维网格迁移

题目

题目连接

给你一个 m 行 n 列的二维网格 grid 和一个整数 k。你需要将 grid 迁移 k 次。

每次「迁移」操作将会引发下述活动:

  • 位于 grid[i][j] 的元素将会移动到 grid[i][j + 1]。
  • 位于 grid[i][n - 1] 的元素将会移动到 grid[i + 1][0]。
  • 位于 grid[m - 1][n - 1] 的元素将会移动到 grid[0][0]。

请你返回 k 次迁移操作后最终得到的 二维网格。

示例 1:

输入:grid = [[1,2,3],[4,5,6],[7,8,9]], k = 1
输出:[[9,1,2],[3,4,5],[6,7,8]]

示例 2:

输入:grid = [[3,8,1,9],[19,7,2,5],[4,6,11,10],[12,0,21,13]], k = 4
输出:[[12,0,21,13],[3,8,1,9],[19,7,2,5],[4,6,11,10]]

示例 3:

输入:grid = [[1,2,3],[4,5,6],[7,8,9]], k = 9
输出:[[1,2,3],[4,5,6],[7,8,9]]

解题

方法一:数学

class Solution {
public:
    vector<vector<int>> shiftGrid(vector<vector<int>>& grid, int k) {
        int m=grid.size();
        int n=grid[0].size();
        vector<vector<int>> res(m,vector<int>(n));
        for(int i=0;i<m;i++){
            for(int j=0;j<n;j++){
                int ni=(i+(j+k)/n)%m;
                int nj=(j+k)%n;
                res[ni][nj]=grid[i][j];
            }
        }
        return res;
    }
};
相关文章
|
编解码 索引 Python
python--根据任意非网格经纬度坐标,找到均匀网格点上最接近的经纬度坐标
需求:根据非规则经纬度坐标,查找均匀网格点上最接近的经纬度坐标,并提取该点上的变量。
python--根据任意非网格经纬度坐标,找到均匀网格点上最接近的经纬度坐标
|
3月前
|
JavaScript 前端开发 API
10 个纤细的数据网格:为您的项目选择合适的数据网格
10 个纤细的数据网格:为您的项目选择合适的数据网格
40 0
|
6月前
|
Shell vr&ar 图形学
数学库,3D建模库,设计之图形化设计方案公式,3D建模库,圆柱体,圆的计算方式,三角形的计算方式
数学库,3D建模库,设计之图形化设计方案公式,3D建模库,圆柱体,圆的计算方式,三角形的计算方式
|
开发者
哨兵2号分幅规则介绍及网格矢量下载
本文介绍哨兵2号(Sentinel-2)遥感影像数据的空间分幅规则,并提供其格网参考系(Military Grid Reference System,MGRS)的.kml格式文件、.shp格式矢量文件的下载方法~
539 1
哨兵2号分幅规则介绍及网格矢量下载
|
8月前
6366. 在网格图中访问一个格子的最少时间(dijkstra在矩阵上的运用)
6366. 在网格图中访问一个格子的最少时间(dijkstra在矩阵上的运用)
|
8月前
|
图形学 计算机视觉
GEE错误——如何将原有矢量将维度转化为地理坐标系,重投影坐标坐标无法实现?
GEE错误——如何将原有矢量将维度转化为地理坐标系,重投影坐标坐标无法实现?
94 0
|
8月前
|
JavaScript SoC
leetcode-304:二维区域和检索 - 矩阵不可变
leetcode-304:二维区域和检索 - 矩阵不可变
66 0
|
存储 监控 架构师
【数据网格架构】什么是数据网格——以及如何不将其网格化
【数据网格架构】什么是数据网格——以及如何不将其网格化
【数据网格架构】什么是数据网格——以及如何不将其网格化
|
索引
ArcGIS:如何理解成本回溯链接栅格/方向矩阵/backlink raster?
ArcGIS:如何理解成本回溯链接栅格/方向矩阵/backlink raster?
295 0
|
架构师 数据管理 数据挖掘
【数据网格】数据网格 101:入门所需的一切
【数据网格】数据网格 101:入门所需的一切