看板 Marginalman
我看其他比我快的都是用2D array 分成三個哈希表col row 3x3 然後就看不懂了 我好爛 哈 36. Valid Sudoku class Solution { public: bool isValidSudoku(vector<vector<char>>& board) { for(int i=0; i<9; i++){ unordered_map<char, int> mp1; unordered_map<char, int> mp2; for(int j=0; j<9; j++){ if(mp1.count(board[i][j])) return false; if(mp2.count(board[j][i])) return false; if(board[i][j]!='.') mp1[board[i][j]]=0; if(board[j][i]!='.') mp2[board[j][i]]=0; } } for(int i=0; i<9; i+=3){ for(int j=0; j<9; j+=3){ unordered_map<char, int> mp; for(int k=i; k<i+3; k++){ for(int x=j; x<j+3; x++){ if(board[k][x]=='.') continue; if(mp.count(board[k][x])) return false; mp[board[k][x]]=0; } } } } return true; } }; -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.231.154.170 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1707966277.A.0C4.html
JIWP: 大師 02/15 11:11