精華區beta Marginalman 關於我們 聯絡資訊
1072. Flip Columns For Maximum Number of Equal Rows ## 思路 如果翻轉特定幾個column後 有兩個row變成1111或0000 那兩個row的值完全相同/相反 e.g. [1,0,0] [0,1,1] [1,0,0] [1,0,0] 對每行的值 以col 0的值當作標準, 轉成mask 用HashTable紀錄mask次數, 取最大值 ## Code ```python class Solution: def maxEqualRowsAfterFlips(self, matrix: List[List[int]]) -> int: len_r, len_c = len(matrix), len(matrix[0]) counter = Counter() for r in range(len_r): mask = 0 for c in range(len_c): mask = (mask << 1) | (matrix[r][c] == matrix[r][0]) counter[mask] += 1 return max(counter.values()) ``` -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 94.156.205.99 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1732278116.A.6C0.html ※ 編輯: dont (94.156.205.99 臺灣), 11/22/2024 20:23:17 ※ 編輯: dont (94.156.205.99 臺灣), 11/22/2024 20:24:14
Furina: 大師 11/22 20:26