Re: [闲聊] 每日leetcode

楼主: oinishere (是oin捏)   2024-05-13 21:21:28
※ 引述 《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;
}
};
作者: sixB (6B)   2023-05-13 21:21:00
大师
作者: wu10200512 (廷廷)   2024-05-13 21:22:00
你怎么那么强
楼主: oinishere (是oin捏)   2024-05-13 21:23:00
宝 我程设作业写不出来
作者: sixB (6B)   2024-05-13 21:23:00
你喜欢从大的开始弄吗
楼主: oinishere (是oin捏)   2024-05-13 21:24:00
也不是算喜欢八 这题只能从大的弄
作者: sixB (6B)   2024-05-13 21:28:00
平常私底下呢
楼主: oinishere (是oin捏)   2024-05-13 21:29:00
我只跟灵梦做爱厚
作者: JIWP (JIWP)   2024-05-13 21:29:00
臭甲

Links booklink

Contact Us: admin [ a t ] ucptt.com