Skip to content

Practice Grid Illumination

Read the task, work through the examples, and check your approach against the constraints. Use the original LeetCode task for coding and submissions.

Hard#1001
LeetCode Problem

Grid Illumination

Problem Statement

There is a 2D grid of size n x n where each cell of this grid has a lamp that is initially turned off. You are given a 2D array of lamp positions lamps, where lamps[i] = [rowi, coli] indicates that the lamp at grid[rowi][coli] is turned on. Even if the same lamp is listed more than once, it is turned on. When a lamp is turned on, it illuminates its cell and all other cells in the same row, column, or diagonal. You are also given another 2D array queries, where queries[j] = [rowj, colj]. For the jth query, determine whether grid[rowj][colj] is illuminated or not. After answering the jth query, turn off the lamp at grid[rowj][colj] and its 8 adjacent lamps if they exist. A lamp is adjacent if its cell shares either a side or corner with grid[rowj][colj]. Return an array of integers ans, where ans[j] should be 1 if the cell in the jth query was illuminated, or 0 if the lamp was not.

Source: Grid Illumination on LeetCode. Use the original task for its coding environment and submissions.

Examples

# Example 1

Input
n = 5, lamps = [[0,0],[4,4]], queries = [[1,1],[1,0]]
Output
[1,0]

# Example 2

Input
n = 5, lamps = [[0,0],[4,4]], queries = [[1,1],[1,1]]
Output
[1,1]

# Example 3

Input
n = 5, lamps = [[0,0],[0,4]], queries = [[0,4],[0,1],[1,4]]
Output
[1,1,0]

Constraints

1 <= n <= 10^9
0 <= lamps.length <= 20000
0 <= queries.length <= 20000
lamps[i].length == 2
0 <= rowi, coli < n
queries[j].length == 2
0 <= rowj, colj < n

Related LeetCode Problems

Practice more problems similar to Grid Illumination.

Review your practice with PhantomCodeAI

After trying the problem yourself, use the app to discuss your approach, complexity, and edge cases.