作者sixB (6B)
看板Marginalman
標題Re: [閒聊] 每日leetcode
時間Tue May 14 02:41:25 2024
哩扣幫++
原本看這篇想說
比這個在幹嘛看不懂==
剛剛想說睡前也來寫一下
class Solution {
public:
int matrixScore(vector<vector<int>>& grid) {
int m = grid.size();
int n = grid[0].size();
int res = 0;
for(int i = 0; i < m; i++){
if(grid[i][0] == 0){
for(int &j: grid[i]){
j = !j;
}
}
}
for(int j = 0; j < n; j++){
int cnt = 0;
for(int i = 0; i< m; i++){
cnt += grid[i][j];
}
cnt = max(cnt, m - cnt);
res += cnt * pow(2, n -j -1);
}
return res;
}
};
回來再看看懂了
那個count可以直接加ㄚ
然後那個base好酷 我要偷走了
只剩我還在pow了小朋友嗚嗚嗚嗚
※ 引述 《ray90514》 之銘言:
: grid[i][j] == grid[i][0] 可以依照開頭的bit與該位的bit得到最終有無翻轉的結果
: class Solution {
: public:
: int matrixScore(vector<vector<int>>& grid) {
: int ans = 0;
: int m = grid.size(), n = grid[0].size();
: for(int j = n - 1, base = 1; j >= 0; j--){
: int count = 0;
: for(int i = 0; i < m; i++){
: count += grid[i][j] == grid[i][0];
: }
: ans += max(m - count, count) * base;
: base <<= 1;
: }
: return ans;
: }
: };
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.205.121.194 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1715625687.A.14B.html
→ sixB: 然後原來for那個要加& == 05/14 02:44
→ sixB: 對不起 我好笨== 05/14 02:48
→ sixB: 現在才看懂 在跟前面那個比 05/14 02:48
→ sixB: 我先跑一圈翻了 累死 05/14 02:48
→ sixB: 睡覺嗚嗚嗚我好笨 05/14 02:51
※ 編輯: sixB (123.205.121.194 臺灣), 05/14/2024 02:52:28
※ 編輯: sixB (123.205.121.194 臺灣), 05/14/2024 02:53:00