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)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
相关推荐
人机与认知实验室13 小时前
如何用四维矩阵建模计算性的态势感知与算计性的势态知感?
人工智能·线性代数·矩阵
Jasmine_llq15 小时前
《B4037 [GESP202409 二级] 小杨的 N 字矩阵》
线性代数·顺序输入输出算法·双重循环遍历算法·条件分支判断算法·边界字符输出算法·对角线定位算法·逐行输出控制算法
Raink老师1 天前
用100道题拿下你的算法面试(矩阵篇-2):求转置矩阵
算法·面试·矩阵
人机与认知实验室1 天前
如何用三维矩阵建模态势感知与势态知感?
线性代数·矩阵
CoderYanger1 天前
14届蓝桥杯省赛Java A 组Q1~Q3
java·开发语言·线性代数·算法·职场和发展·蓝桥杯
Mr_pyx2 天前
LeetCode HOT 100 —— 矩阵置零(多种解法详解)
算法·leetcode·矩阵
YuanDaima20482 天前
矩阵基础原理与题目说明
人工智能·笔记·python·学习·线性代数·矩阵
我真不是小鱼2 天前
cpp刷题打卡记录29——矩阵置零 & 旋转图像 & 除了自身以外数组的乘积
数据结构·c++·算法·leetcode·矩阵
脱氧核糖核酸__2 天前
LeetCode热题100——240.搜索二维矩阵 II(题目+题解+答案)
c++·算法·leetcode·矩阵
代码改善世界2 天前
【MATLAB初阶】矩阵操作(一)
开发语言·matlab·矩阵