Re: [閒聊] 每日LeetCode

看板Marginalman作者 (麵包屌)時間3年前 (2022/11/14 13:10), 編輯推噓4(400)
留言4則, 4人參與, 3年前最新討論串102/719 (看更多)
※ 引述《Rushia (みけねこ的鼻屎)》之銘言: : 947. Most Stones Removed with Same Row or Column : 給予你一個陣列表示在2D空間裡面放置石頭的座標,若一個石頭的上下左右存在一個 : 石頭(重疊)我們可以把該石頭移除,求出最多可以移除多少個石頭。 : Example: : Input: stones = [[0,0],[0,1],[1,0],[1,2],[2,1],[2,2]] : Output: 5 龍大抓到了一群邊板仔,準備S了他們,但也不想S掉全部 因為龍大是個M,喜歡自搜看自己被黑,並且留一點邊板仔尬黑還有助提升大公聲望 龍大每輪會挑兩個在同一行/列的人並S掉其中一個直到挑不出來 請幫龍大找出最多能S掉幾個邊板仔 思路: 1.上一篇的做法已經很漂亮了 就是把 col+10000 以錯開 row 的 index lee215提供了一個把 ~col 當 index 的寫法 就是對 col 的每個 bit 取反 ~col 的範圍會是 -1~-10001 也是能和 row 錯開 最後就變成 def removeStones(self, points): uf = {} def find(x): if x != uf.setdefault(x, x): uf[x] = find(uf[x]) return uf[x] for i, j in points: uf[find(i)] = find(~j) return len(points) - len({find(x) for x in uf}) lee803...真的浩強... -- 蛤? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.251.212.49 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1668402652.A.35B.html

11/14 13:13, 3年前 , 1F
靠北
11/14 13:13, 1F

11/14 13:26, 3年前 , 2F
感覺leetcode 幹的事就是有思考的翻譯練習
11/14 13:26, 2F

11/14 15:26, 3年前 , 3F
笑死
11/14 15:26, 3F

11/15 00:17, 3年前 , 4F
大師
11/15 00:17, 4F
文章代碼(AID): #1ZSStSDR (Marginalman)
討論串 (同標題文章)
文章代碼(AID): #1ZSStSDR (Marginalman)