请你返回将矩阵 mat 转化为全零矩阵的最少反转次数,如果无法转化为全零矩阵,请返回 -1 。
二进制矩阵的每一个格子要么是 0 要么是 1 。
全零矩阵是所有格子都为 0 的矩阵。
?...示例 2:
输入:mat = [[0]]
输出:0
解释:给出的矩阵是全零矩阵,所以你不需要改变它。...示例 3:
输入:mat = [[1,1,1],[1,0,1],[0,0,0]]
输出:6
示例 4:
输入:mat = [[1,0,0],[1,0,0]]
输出:-1
解释:该矩阵无法转变成全零矩阵...BFS解题
矩阵每个格子反转操作后都可以转换成数字,检查它是否等于0(状态)
先将初始状态push进队列,visited访问记录该状态(编码成数字)
然后依次更改矩阵的每个位置,如果更改后的状态没出现过...,push进队列
遇见状态0的时候,停止BFS,返回BFS的层数,即最少反转次数
class Solution {
vector> dir ={{1,0},{0,1},{0,-