947 移除最多的同行或同列石頭

2021-09-12 15:27:13 字數 965 閱讀 7350

在二維平面上,我們將石頭放置在一些整數座標點上。每個座標點上最多只能有一塊石頭。

現在,move 操作將會移除與網格上的某一塊石頭共享一列或一行的一塊石頭。

我們最多能執行多少次 move 操作?

示例 1:

輸入:stones = [[0,0],[0,1],[1,0],[1,2],[2,1],[2,2]]輸出:5
示例 2:

輸入:stones = [[0,0],[0,2],[1,1],[2,0],[2,2]]輸出:3
示例 3:

輸入:stones = [[0,0]]輸出:0
1 <= stones.length <= 10000 <= stones[i][j] < 10000review:

腦海裡閃過union-find演算法,遍歷一遍陣列,每增加乙個點判斷其聯通性,最後輸出點的個數-組數就是可執行的move運算元

當然可以做一些優化

每次對**做優化也是一件比較鍛鍊能力的步驟

947 移除最多的同行或同列石頭

947.移除最多的同行或同列石頭 n塊石頭放置在二維平面中的一些整數座標點上。每個座標點上最多只能有一塊石頭。如果一塊石頭的同行或者同列上有其他石頭存在,那麼就可以移除這塊石頭。給你乙個長度為n的陣列stones,其中stones i xi,yi 表示第i塊石頭的位置,返回可以移除的石子的最大數量。...

947 移除最多的同行或同列石頭

題目描述 n 塊石頭放置在二維平面中的一些整數座標點上。每個座標點上最多只能有一塊石頭。如果一塊石頭的 同行或者同列 上有其他石頭存在,那麼就可以移除這塊石頭。給你乙個長度為 n 的陣列 stones 其中 stones i xi,yi 表示第 i 塊石頭的位置,返回 可以移除的石子 的最大數量。解...

947 移除最多的同行或同列石頭 並查集

n 塊石頭放置在二維平面中的一些整數座標點上。每個座標點上最多只能有一塊石頭。如果一塊石頭的 同行或者同列 上有其他石頭存在,那麼就可以移除這塊石頭。給你乙個長度為 n 的陣列 stones 其中 stones i xi,yi 表示第 i 塊石頭的位置,返回 可以移除的石子 的最大數量。示例 1 輸...