1
class Solution:
2
def queensAttacktheKing(
3
self, queens: List[List[int]], king: List[int]
4
) -> List[List[int]]:
5
ans = []
6
d = {(i[0], i[1]): True for i in queens}
7

8
def goUp(r, c):
9
while r >= 0:
10
if (r, c) in d:
11
ans.append([r, c])
12
break
13
r -= 1
14

15
def goDown(r, c):
16
while r < 8:
17
if (r, c) in d:
18
ans.append([r, c])
19
break
20
r += 1
21

22
def goLeft(r, c):
23
while c >= 0:
24
if (r, c) in d:
25
ans.append([r, c])
26
break
27
c -= 1
28

29
def goRight(r, c):
30
while c < 8:
31
if (r, c) in d:
32
ans.append([r, c])
33
break
34
c += 1
35

36
def goD1(r, c):
37
while r >= 0 and c >= 0:
38
if (r, c) in d:
39
ans.append([r, c])
40
break
41
r -= 1
42
c -= 1
43

44
def goD2(r, c):
45
while r < 8 and c >= 0:
46
if (r, c) in d:
47
ans.append([r, c])
48
break
49
r += 1
50
c -= 1
51

52
def goD3(r, c):
53
while r < 8 and c < 8:
54
if (r, c) in d:
55
ans.append([r, c])
56
break
57
r += 1
58
c += 1
59

60
def goD4(r, c):
61
while r >= 0 and c < 8:
62
if (r, c) in d:
63
ans.append([r, c])
64
break
65
r -= 1
66
c += 1
67

68
goUp(king[0], king[1])
69
goDown(king[0], king[1])
70
goLeft(king[0], king[1])
71
goRight(king[0], king[1])
72
goD1(king[0], king[1])
73
goD2(king[0], king[1])
74
goD3(king[0], king[1])
75
goD4(king[0], king[1])
76

77
return ans

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0