Re: [閒聊] 每日leetcode

看板Marginalman作者 (JerryChung)時間1年前 (2024/08/09 10:43), 編輯推噓1(100)
留言1則, 1人參與, 1年前最新討論串680/1548 (看更多)
https://leetcode.com/problems/magic-squares-in-grid 840. Magic Squares In Grid 找出由1~9組成的3*3矩陣且每個行、列、斜都是15的數量 Python Code: class Solution: def numMagicSquaresInside(self, grid: List[List[int]]) -> int: result = 0 check = {1, 2, 3, 4, 5, 6, 7, 8, 9} for i, v in enumerate(grid): idx = 0 while 5 in v[idx+1:] and i not in {0, len(grid)-1}: idx = v.index(5, idx+1) if idx in {0, len(v)-1}: continue if not set([grid[i-1][idx],grid[i-1][idx-1],grid[i-1][idx+1], grid[i+1][idx],grid[i+1][idx-1],grid[i+1][idx+1], v[idx], v[idx-1], v[idx+1]]) == check: continue if all([ sum(v[idx-1:idx+2]) == 15, sum(grid[i-1][idx-1:idx+2]) == 15, sum(grid[i+1][idx-1:idx+2]) == 15, sum([v[idx], grid[i-1][idx], grid[i+1][idx]]) == 15, sum([v[idx-1], grid[i-1][idx-1], grid[i+1][idx-1]]) == 15, sum([v[idx+1], grid[i-1][idx+1], grid[i+1][idx+1]]) == 15, sum([grid[i-1][idx-1], v[idx], grid[i+1][idx+1]]) == 15, sum([grid[i+1][idx-1], v[idx], grid[i-1][idx+1]]) == 15 ]): result += 1 return result 照直覺寫的 懶得改了 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 60.251.52.67 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1723171428.A.6CF.html

08/09 10:47, 1年前 , 1F
大師
08/09 10:47, 1F
文章代碼(AID): #1cjO9aRF (Marginalman)
討論串 (同標題文章)
文章代碼(AID): #1cjO9aRF (Marginalman)