首页 > 其他分享 >按列翻转得到最大值等行数

按列翻转得到最大值等行数

时间:2023-05-15 11:36:02浏览次数:27  
标签:matrix 示例 int 最大值 按列 行数 row nt 翻转

给定 m x n 矩阵 matrix

你可以从中选出任意数量的列并翻转其上的 每个 单元格。(即翻转后,单元格的值从 0 变成 1,或者从 1 变为 0 。)

返回 经过一些翻转后,行与行之间所有值都相等的最大行数

示例 1:
输入:matrix = [[0,1],[1,1]]
输出:1
解释:不进行翻转,有 1 行所有值都相等。
示例 2:
输入:matrix = [[0,1],[1,0]]
输出:2
解释:翻转第一列的值之后,这两行都由相等的值组成。
示例 3:
输入:matrix = [[0,0,0],[0,0,1],[1,1,0]]
输出:2
解释:翻转前两列的值之后,后两行由相等的值组成。
提示:
  • m == matrix.length
  • n == matrix[i].length
  • 1 <= m, n <= 300
  • matrix[i][j] == 0 或 1
来源:力扣(LeetCode)

题解

点击查看代码
class Solution {
    public int maxEqualRowsAfterFlips(int[][] matrix) {
        //创建一个哈希表统计翻转相同的行
        //key值为行,value值为次数
        Map<String, Integer> ans = new HashMap<>();
        int nt = 0, len = matrix[0].length;
        //遍历提取行
        for(var row: matrix){
            char[] c = new char[len];
            for(int i = 0;i < len;i++){
                //遍历,异或判断
                c[i] = (char) (row[0] ^ row[i]);
            }
            //统计哈希表中最大数-> 系统行数最多的数量
            nt = Math.max(nt, ans.merge(String.valueOf(c), 1, Integer::sum));
        }
        return nt;
    }
}

标签:matrix,示例,int,最大值,按列,行数,row,nt,翻转
From: https://www.cnblogs.com/wuli-Zhang/p/17401349.html

相关文章

  • LeetCode 239. 滑动窗口最大值
    题目链接:LeetCode239.滑动窗口最大值题意:给你一个整数数组nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的k 个数字。滑动窗口每次只向右移动一位。返回滑动窗口中的最大值。解题思路:(单调队列)O(n)使用单调队列求解......
  • 三菱FX系列恒压供水程序和三菱触摸屏程序三台水泵,手动自动均可,自动状态下根据压力调节
    三菱FX系列恒压供水程序和三菱触摸屏程序三台水泵,手动自动均可,自动状态下根据压力调节泵运行数量,具备报警功能和故障自动切换功能ID:1850616232110110......
  • 滑动窗口的最大值
    classSolution{public:vector<int>res;deque<int>q;vector<int>maxInWindows(vector<int>&nums,intk){for(inti=0;i<nums.size();i++){//先弹出左端点,保证队列里所有元素都是有效的......
  • Python 使用迭代查找一个list中最小和最大值,并返回一个tuple
    deffindMinAndMax(L):iflen(L)==0:return(None,None)else:mi=L[0]ma=L[0]forlinL:ifl<mi:mi=lelifl>ma:ma=lreturn(mi,m......
  • 打卡 数据的最大值问题(重载+函数模板)
    两个类如下设计:类Time有三个数据成员,hh,mm,ss,分别代表时,分和秒,并有若干构造函数和一个重载-(减号)的成员函数。类Date有三个数据成员,year,month,day分别代表年月日,并有若干构造函数和一个重载>(<)(大于号或者小于号)的成员函数。要求设计一个函数模板template<classT>doublemaxn(Tx[]......
  • 滑动窗口最大值
    队列没有指定底层实现的话,默认是以deque为缺省情况下栈的底层结构(缺省为默认)deque容器 题目:给你一个整数数组nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的k 个数字。滑动窗口每次只向右移动一位。返回滑动窗口中的最......
  • 求最大值(函数模板)
    一、问题描述:两个类如下设计:类Time有三个数据成员,hh,mm,ss,分别代表时,分和秒,并有若干构造函数和一个重载-(减号)的成员函数。类Date有三个数据成员,year,month,day分别代表年月日,并有若干构造函数和一个重载>(<)(大于号或者小于号)的成员函数。要求设计一个函数模板template<classT>Tma......
  • 特权阶级才能进行数字戒断,底层阶级将被零工经济绑定在智能手机上
    未来,脱离数字媒介可能是种奢侈。特权阶级才能够关闭邮件和社交媒体的通知,设置“暂不办公”的留言,进行数字戒断,而底层阶级将被零工经济绑定在智能手机上。久而久之,对越来越多的人来说,有时间脱离这种社会环境去读一本小说将变得越发难以想象。收费昂贵的私立学校将维持拥有纸质书的......
  • NC14402 求最大值
    题目链接题目题目描述给出一个序列,你的任务是求每次操作之后序列中(a[j]-a[i])/(j-i)【1<=i<j<=n】的最大值。操作次数有Q次,每次操作需要将位子p处的数字变成y.输入描述本题包含多组输入,每组输入第一行一个数字n,表示序列的长度。然后接下来一行输入n个数,表示原先序列的样子。......
  • HJ89 24点运算 用递归生成器进行数列穷举
    思路:1、对4张牌进行全排序,并输出列表2、分别对排序进行计算尝试,采用穷举方式3、返回结果除了用递归生成器进行数组全排序外,也用模块fromitertools importpermutations,进行全排序。1#输出算式运算顺序从左至右运算,不需要括号确定优先级。23#列举所有排序方式,比如......