Re: [閒聊] 每日leetcode

看板Marginalman作者 (franchouchouISBEST)時間1年前 (2024/03/07 22:57), 1年前編輯推噓0(000)
留言0則, 0人參與, 最新討論串24/1548 (看更多)
今天的寫過了 隨便撿路上一題來寫 289. Game of Life 敘述很長 大概就是看每個elements的neightbor的sum然後做事情 簡單來說就是個2d convolution 看解答一堆奇技淫巧 難怪我當不了designer int arrsum(int xl, int xr, int yt, int yb, vector<vector<int>>& board) { int sum = 0; for(int idx_x = xl; idx_x <= xr; idx_x++) { for(int idx_y = yt; idx_y <= yb; idx_y++) { sum += board[idx_y][idx_x]; } } return sum; } void gameOfLife(vector<vector<int>>& board) { int m = board.size(); int n = board[0].size(); vector<vector<int>> ans = board; for(int idx_x = 0; idx_x < n; idx_x++) { for(int idx_y = 0; idx_y < m; idx_y++) { int sum = arrsum(max(0, idx_x-1), min(n-1, idx_x+1), max(0, idx_y-1), min(m-1, idx_y+1), board); if(board[idx_y][idx_x] == 1) { if(sum-1 < 2 || sum-1 > 3) { ans[idx_y][idx_x] = 0; } } else if(sum == 3) { ans[idx_y][idx_x] = 1; } } } board = ans; } -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.137.110.233 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1709823451.A.B29.html ※ 編輯: DJYOSHITAKA (114.137.110.233 臺灣), 03/07/2024 23:11:36
文章代碼(AID): #1bwTNRif (Marginalman)
討論串 (同標題文章)
文章代碼(AID): #1bwTNRif (Marginalman)