Re: [閒聊] 每日LeetCode

看板Marginalman作者 (四葉天下第一)時間3年前 (2022/11/23 18:15), 3年前編輯推噓3(301)
留言4則, 4人參與, 3年前最新討論串116/719 (看更多)
※ 引述《Rushia (みけねこ的鼻屎)》之銘言: : 36. Valid Sudoku : 給你一個二維字元陣列表示一個數獨,包含1~9和表示空白的.字元,一個合法數獨 : 滿足以下條件: : 1.每行和每列最多出現一種數字一次 : 2.一個3x3九宮格內只會出現一種數字一次 : 3.數獨可能無解(無法填滿數字),但是只有滿足1或2才是Invalid : 判斷給定的棋盤是否是一個合法數獨 : Example: : https://upload.wikimedia.org/wikipedia/commons/thumb/f/ff/Sudoku-by-L2G-20050714.svg/250px-Sudoku-by-L2G-20050714.svg.png
: Input: board = : [["5","3",".",".","7",".",".",".","."] : ,["6",".",".","1","9","5",".",".","."] : ,[".","9","8",".",".",".",".","6","."] : ,["8",".",".",".","6",".",".",".","3"] : ,["4",".",".","8",".","3",".",".","1"] : ,["7",".",".",".","2",".",".",".","6"] : ,[".","6",".",".",".",".","2","8","."] : ,[".",".",".","4","1","9",".",".","5"] : ,[".",".",".",".","8",".",".","7","9"]] : Output: true 可惡 就我用最基礎的方法 思路就一樣是用set檢查每行和每列是否有重複 再檢查每個 3 * 3 區塊是否有重複 幸好九宮格的大小都固定所以套四層迴圈也沒關係 ------ C++ code: class Solution { public: bool isValidSudoku(vector<vector<char>>& board) { for (int i = 0; i < 9; i++) { set<char> mySet1; set<char> mySet2; for (int j = 0; j < 9; j++) { if (board[i][j] != '.') { if (mySet1.count(board[i][j])) return false; else mySet1.insert(board[i][j]); } if (board[j][i] != '.') { if (mySet2.count(board[j][i])) return false; else mySet2.insert(board[j][i]); } } mySet1.clear(); mySet2.clear(); } for (int i = 0; i < 9; i += 3) { for (int j = 0; j < 9; j += 3) { set<char> mySet; for (int k = 0; k < 3; k++) { for (int l = 0; l < 3; l++) { if (board[i + k][j + l] == '.') continue; if (mySet.count(board[i + k][j + l])) return false; mySet.insert(board[i + k][j + l]); } } mySet.clear(); } } return true; } }; -- 擺脫期中地獄後 可以回來寫每日了 -- 社長 cv:ともりる 梨花 cv:しゅかしゅー https://i.imgur.com/EFHPLVW.jpg
https://i.imgur.com/MCBl80S.jpg
-- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 59.120.154.100 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1669198514.A.3C8.html ※ 編輯: Pash97143 (59.120.154.100 臺灣), 11/23/2022 18:15:56

11/23 18:16, 3年前 , 1F
大師
11/23 18:16, 1F

11/23 18:17, 3年前 , 2F
大師
11/23 18:17, 2F

11/23 18:17, 3年前 , 3F
結果這樣解速度還有贏90%左右 但記憶體大概50%而已
11/23 18:17, 3F

11/23 18:20, 3年前 , 4F
大師
11/23 18:20, 4F
文章代碼(AID): #1ZVVAoF8 (Marginalman)
討論串 (同標題文章)
文章代碼(AID): #1ZVVAoF8 (Marginalman)