Re: [閒聊] 每日leetcode已回收

看板Marginalman作者 (是oin捏)時間1年前 (2024/05/13 21:21), 編輯推噓1(107)
留言8則, 4人參與, 1年前最新討論串212/1554 (看更多)
※ 引述 《JIWP (神楽めあ的錢包)》 之銘言: :   : 861. Score After Flipping Matrix :   : 有一個m*n的matrix :   : 每一列都代表一個二進位數 :   : 可以把任意行、列的元素反轉(0->1、1->0) :   : 請問在進行反轉後,這個matrix總和最大為多少? :   : 思路: :   : 首先先把每個第一行為0的列反轉 :   : 接著再去計算每一行0、1的數量 :   : 如果0的數量>1的數量就翻轉 :   : 接著就二進位轉十進位就可以求出答案了 :   思路: 差不多 反正越左邊越大越優先 所以都從左開始弄 然後全部加起來 class Solution { public: void lr(vector<vector<int>>& grid,int n ) { for(int i = 0 ; i < grid[0].size() ; i ++) { grid[n][i] ^= 1; } } void td(vector<vector<int>>& grid,int m ) { for(int i = 0 ; i < grid.size() ; i ++) { grid[i][m] ^= 1; } } int matrixScore(vector<vector<int>>& grid) { int n = grid.size(); int m = grid[0].size(); for(int i = 0 ; i < n ; i ++) { if(grid[i][0] == 0) { lr(grid , i); } } for(int i = 0 ; i < m ; i ++) { int now = 0; for(int j = 0 ; j < n ; j ++) { now += grid[j][i]; } if(now <= n/2) { td(grid , i); } } int res = 0; for(int i = 0 ; i < n ; i ++) { for(int j = 0 ; j < m ; j ++) { if(!grid[i][j])continue; res += pow(2 , m - j - 1); } } return res; } }; -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.230.142.93 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1715606490.A.181.html

05/13 21:21, 1年前 , 1F
大師
05/13 21:21, 1F

05/13 21:22, 1年前 , 2F
你怎麼那麼強
05/13 21:22, 2F

05/13 21:23, 1年前 , 3F
寶 我程設作業寫不出來
05/13 21:23, 3F

05/13 21:23, 1年前 , 4F
你喜歡從大的開始弄嗎
05/13 21:23, 4F

05/13 21:24, 1年前 , 5F
也不是算喜歡八 這題只能從大的弄
05/13 21:24, 5F

05/13 21:28, 1年前 , 6F
平常私底下呢
05/13 21:28, 6F

05/13 21:29, 1年前 , 7F
我只跟靈夢做愛厚
05/13 21:29, 7F

05/13 21:29, 1年前 , 8F
臭甲
05/13 21:29, 8F
文章代碼(AID): #1cGXFQ61 (Marginalman)
討論串 (同標題文章)
文章代碼(AID): #1cGXFQ61 (Marginalman)