Re: [閒聊] 每日leetcode

看板Marginalman作者 (dont)時間10月前 (2025/01/20 21:42), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1296/1552 (看更多)
2661. First Completely Painted Row or Column ## 思路 先建表 num -> {r, c} 再跑arr, 用兩個陣列rows,cols紀錄該行列遇過的數字個數 如果都遇過(==lenC or lenR) 就回傳當前index ## Code ```cpp class Solution { public: int firstCompleteIndex(vector<int>& arr, vector<vector<int>>& mat) { int lenR = mat.size(), lenC = mat[0].size(); vector<pair<int, int>> table(lenR * lenC + 1); // num -> {R, C} for (int r = 0; r < lenR; ++r) { for (int c = 0; c < lenC; ++c) { table[mat[r][c]] = {r, c}; } } vector<int> rows(lenR, 0); vector<int> cols(lenC, 0); int n = arr.size(); for (int i=0; i < n; ++i) { auto& [r, c] = table[arr[i]]; if (++rows[r] == lenC || ++cols[c] == lenR) { return i; } } return n; } }; ``` -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 93.118.43.134 (日本) ※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1737380568.A.7C3.html
文章代碼(AID): #1dZbBOV3 (Marginalman)
討論串 (同標題文章)
文章代碼(AID): #1dZbBOV3 (Marginalman)