Talentd
FleetCode

1222. Queens That Can Attack the King

Medium72.6% acceptance2 companies

On a 0-indexed 8 x 8 chessboard, there can be multiple black queens and one white king.

You are given a 2D integer array queens where queens[i] = [xQueeni, yQueeni] represents the position of the ith black queen on the chessboard. You are also given an integer array king of length 2 where king = [xKing, yKing] represents the position of the white king.

Return the coordinates of the black queens that can directly attack the king. You may return the answer in any order.

Example 1:

Input: queens = [[0,1],[1,0],[4,0],[0,4],[3,3],[2,4]], king = [0,0]
Output: [[0,1],[1,0],[3,3]]
Explanation: The diagram above shows the three queens that can directly attack the king and the three queens that cannot attack the king (i.e., marked with red dashes).

Example 2:

Input: queens = [[0,0],[1,1],[2,2],[3,4],[3,5],[4,4],[4,5]], king = [3,3]
Output: [[2,2],[3,4],[4,4]]
Explanation: The diagram above shows the three queens that can directly attack the king and the three queens that cannot attack the king (i.e., marked with red dashes).

Constraints:

  • 1 <= queens.length < 64
  • queens[i].length == king.length == 2
  • 0 <= xQueeni, yQueeni, xKing, yKing < 8
  • All the given positions are unique.

Asked at 2 companies

Hints open one at a time

Hint 1
Check 8 directions around the King.
Hint 2
Find the nearest queen in each direction.
11:27
Still stuck?Read 3 approaches, or watch a walkthrough.
Open solution
Loading editor…
1class Solution:
2 def queensAttacktheKing(self, queens: List[List[int]], king: List[int]) -> List[List[int]]:
3
Starter codePython 3Spaces: 4
Examples
Input
[[0,1],[1,0],[4,0],[0,4],[3,3],[2,4]]
[0,0]
Input
[[0,0],[1,1],[2,2],[3,4],[3,5],[4,4],[4,5]]
[3,3]
Your code is saved on this device.Solution