Shift 2D Grid Lab

Easy
1
33.3% Acceptance

In this lab, you will be implementing a function that shifts a 2D grid for a given number of times. You are provided with a 2D grid of size m x n and an integer k. Your task is to shift the grid by k times.

During a single shift operation:

  • Element at grid[i][j] moves to grid[i][j + 1].
  • Element at grid[i][n - 1] moves to grid[i + 1][0].
  • Element at grid[m - 1][n - 1] moves to grid[0][0].

Your function should return the 2D grid after applying the shift operation k times.

Example

Example 1

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

Output: [[9,1,2],[3,4,5],[6,7,8]]

Example 2

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

Output: [[12,0,21,13],[3,8,1,9],[19,7,2,5],[4,6,11,10]]

Example 3

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

Output: [[1,2,3],[4,5,6],[7,8,9]]

Constraints

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

Challenges

  1. Export the function shiftGrid from the file index.js. Make sure this function takes in two arguments - the grid array and an integer k, and returns a 2D grid after applying the shift operation k times.

  2. Test your function with the following case: grid = [[1,2,3],[4,5,6],[7,8,9]], k = 1. The expected output is: [[9,1,2],[3,4,5],[6,7,8]].