Leetcode 1222 可以攻擊國王的皇后

2021-09-29 01:41:27 字數 1934 閱讀 4140

time: 20191014

在乙個 8x8 的棋盤上,放置著若干「黑皇后」和乙個「白國王」。

「黑皇后」在棋盤上的位置分布用整數座標陣列 queens 表示,「白國王」的座標用陣列 king 表示。

「黑皇后」的行棋規定是:橫、直、斜都可以走,步數不受限制,但是,不能越子行棋。

請你返回可以直接攻擊到「白國王」的所有「黑皇后」的座標(任意順序)。

示例 1

輸入:queens = [[0,1],[1,0],[4,0],[0,4],[3,3],[2,4]], king = [0,0]

輸出:[[0,1],[1,0],[3,3]]

解釋:[0,1] 的皇后可以攻擊到國王,因為他們在同一行上。

[1,0] 的皇后可以攻擊到國王,因為他們在同一列上。

[3,3] 的皇后可以攻擊到國王,因為他們在同一條對角線上。

[0,4] 的皇后無法攻擊到國王,因為她被位於 [0,1] 的皇后擋住了。

[4,0] 的皇后無法攻擊到國王,因為她被位於 [1,0] 的皇后擋住了。

[2,4] 的皇后無法攻擊到國王,因為她和國王不在同一行/列/對角線上。

示例 2:

輸入:queens = [[0,0],[1,1],[2,2],[3,4],[3,5],[4,4],[4,5]], king = [3,3]

輸出:[[2,2],[3,4],[4,4]]

示例 3

輸入:queens = [[5,6],[7,7],[2,1],[0,7],[1,6],[5,1],[3,7],[0,3],[4,0],[1,2],[6,3],[5,0],[0,4],[2,2],[1,1],[6,4],[5,4],[0,0],[2,6],[4,5],[5,2],[1,4],[7,5],[2,3],[0,5],[4,2],[1,0],[2,7],[0,1],[4,6],[6,1],[0,6],[4,3],[1,7]], king = [3,4]

輸出:[[2,3],[1,4],[1,6],[3,7],[4,3],[5,4],[4,5]]

提示

從king所在的位置向外8個方向探索,如果遇到了皇后,加入到結果中來,並停止此方向的探索即可。

class

solution

:def

queensattacktheking

(self, queens: list[list[

int]

], king: list[

int])-

> list[list[

int]]:

# 棋盤大小限定為8 x 8

# 從king所在位置沿著8個方向探索,首先碰到的queen,就加入到陣列,並停止此方向探索

res =

for i in[-

1,0,

1]:for j in[-

1,0,

1]:for k in

range(1

,8):

x = king[0]

+ i * k

y = king[1]

+ j * k

if[x, y]

in queens:

[x, y]

)break

return res

update:end.

他山之石,可以攻玉。

第乙份工作 雜亂的工作,迷茫的未來 我的第乙份工作是在一家外企sp上班。算是正式走上社會的第乙份工作,待遇在2200 3000左右 加班費和補助是浮動的 經常性加班,福利還算不錯,有加班費,補助。但工作內容很雜 公司內部區域網 ad,dhcp,mail,cisco,vpn,ap,集團 中病毒當然也是...

他山之石,可以攻玉 篇

顧森的數學部落格 沒事兒多看看人家文科生都可以把數學學那麼好。謝益輝的個人部落格 瞻仰一下統計學博士,看看所謂 意識流甚多 的人是怎麼思考問題的。有很多數學的庫 暫時還沒太明白怎麼使用 關於統計的書 2020.1.18 第一課,搜尋資訊 everything,搜尋檔案,會比較快,而且支援布林邏輯檢索...

20190703 他山之石可以攻玉 導航守衛

修改vue的埠號 在config下面的index.js中調製port的數值,以此來更改埠號。在同乙個webstorm中編譯兩個專案 階段小結 目前routes.js路由的跳轉已經完畢。導航守衛 導航就是我們說的路由,當路由發生變化的時候,我們想要做的事情,這就是導航守衛的重點。const route...