day-82 最少翻转次数使二进制矩阵回文 I


思路

依次计算使行回文和列回文的的翻转次数,返回较小的次数即可

解题过程

计算行翻转次数:对于每一行,如果第一个数与最后一个数不相同(前提前一个数的索引小于后一个数的索引)则需翻转一次,将所有行翻转次数加在一起就是行翻转总共的次数。

列翻转计算方法类似

Code

java 复制代码
class Solution {
    public int minFlips(int[][] grid) {
        int m=grid.length;
        int n=grid[0].length;
        int rownum=hw1(grid,m,n);
        int clonum=hw2(grid,m,n);
        return Math.min(rownum,clonum);
    }


    public int hw1(int[][] grid,int m,int n){
        int num=0;
        for(int i=0;i<m;i++){
            int left=0,right=n-1;
            while(left<right){
                if(grid[i][left]!=grid[i][right]) num++;
                left++;
                right--;
            }
        }
        return num;
    }

        public int hw2(int[][] grid,int m,int n){
        int num=0;
        for(int i=0;i<n;i++){
            int top=0,bot=m-1;
            while(top<bot){
                if(grid[top][i]!=grid[bot][i]) num++;
                top++;
                bot--;
            }
        }
        return num;
    }
}

作者:菜卷
链接:https://leetcode.cn/problems/minimum-number-of-flips-to-make-binary-grid-palindromic-i/solutions/2989310/zui-shao-fan-zhuan-ci-shu-shi-er-jin-zhi-7fde/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
相关推荐
hansang_IR4 小时前
【题解】P4456 [CQOI2018] 交错序列(矩阵乘法)
c++·线性代数·算法
BSD_HY7 小时前
薄膜开关矩阵扫描在低功耗MCU上的GPIO扩展实现
单片机·嵌入式硬件·矩阵·人机交互·薄膜开关·源头工厂
Nil2087 小时前
leetcode 74搜索二维矩阵
算法·leetcode·矩阵
小飞象—木兮7 小时前
BCG波士顿矩阵深度解析及应用指南:核心逻辑、落地路径、常见误区、案例
大数据·人工智能·矩阵·数据分析·用户运营
浪里镖客7 小时前
位姿转换矩阵中旋转与平移转换的问题--解决方案
线性代数·矩阵
hansang_IR1 天前
【题解】P5364 [SNOI2017] 礼物
c++·线性代数·算法
TKcloudmaster_H1 天前
告别低效运营:跨境数据分析 + 多账号矩阵增效方案
大数据·矩阵·数据挖掘·数据分析·新媒体运营·产品运营·流量运营
IT小白杨2 天前
多店铺防关联指纹浏览器哪个好:从账号关联判定模型到环境隔离架构的一次拆解
经验分享·物联网·矩阵·架构·指纹浏览器
吴声子夜歌4 天前
ApacheCommons——commons-math3(科学计算与线性代数)(一)
java·线性代数·算法·apache
AI_yangxi5 天前
口碑好的短视频矩阵系统
线性代数·矩阵