美文网首页随笔
Leetcode 1260. 二维网格迁移

Leetcode 1260. 二维网格迁移

作者: zhipingChen | 来源:发表于2020-02-10 21:35 被阅读0次

题目描述

给你一个 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]]

提示:

  • 1 <= grid.length <= 50
  • 1 <= grid[i].length <= 50
  • -1000 <= grid[i][j] <= 1000
  • 0 <= k <= 100

解法

由题目描述可知,该迁移操作类似于一个向下旋转的过程,将元素按从左向右,从上向下的方向看作一个元素序列的话,每次迁移操作就是将最后一个元素移动到序列头。

由此可知迁移的次数,就是移动序列中元素的个数,移动后恢复为一个二维数组,即为最终的结果。

class Solution:
    def shiftGrid(self, grid: List[List[int]], k: int) -> List[List[int]]:
        n,m=len(grid),len(grid[0])
        k=k%(n*m)
        arr=[e for tmp_arr in grid for e in tmp_arr]
        arr=arr[-k:]+arr[:-k]
        ret=[]
        while arr:
            ret.append(arr[:m])
            arr=arr[m:]
        return ret

相关文章

  • 【LeetCode日记】1260. 二维网格迁移

    题目地址(1260. 二维网格迁移) https://leetcode-cn.com/problems/shift...

  • Leetcode 1260. 二维网格迁移

    题目描述 给你一个 m 行 n 列的二维网格 grid 和一个整数 k。你需要将 grid 迁移 k 次。 每次「...

  • Day43 单词搜索

    给定一个二维网格和一个单词,找出该单词是否存在于网格中 https://leetcode-cn.com/probl...

  • 【leetcode】单词搜索

    【leetcode】单词搜索 题目: 给定一个二维网格和一个单词,找出该单词是否存在于网格中。 单词必须按照字母顺...

  • [Leetcode212](python):单词搜索II

    1. 题目来源 分类:字典树 Leetcode212:单词搜索II 2. 题目描述 给定一个二维网格 board ...

  • 【leetcode-dfs】岛屿数量

    【leetcode-dfs】岛屿数量 给定一个由 '1'(陆地)和 '0'(水)组成的的二维网格,计算岛屿的数量。...

  • 九宫格拖拽

    效果实例 简单了解Grid布局(网格布局) 什么是网格布局 CSS网格布局(又称“网格”),是一种二维网格布局系统...

  • 九宫格拖拽

    效果实例 简单了解Grid布局(网格布局) 什么是网格布局 CSS网格布局(又称“网格”),是一种二维网格布局系统...

  • LeetCode-74-搜索二维矩阵

    LeetCode-74-搜索二维矩阵 74. 搜索二维矩阵[https://leetcode-cn.com/pro...

  • Grid布局

    CSS Grid(网格) 布局(又称为 “Grid(网格)” ),是一个二维的基于网格的布局系统它的目标是完全改变...

网友评论

    本文标题:Leetcode 1260. 二维网格迁移

    本文链接:https://www.haomeiwen.com/subject/twvzxhtx.html