LeetCode 100334. 包含所有 1 的最小矩形面积 I
更多题解尽在 https://sugar.matrixlab.dev/algorithm 每日更新。
组队打卡,更多解法等你一起来参与哦!
LeetCode 100334. 包含所有 1 的最小矩形面积 I,难度中等。
遍历
解题思路:去掉矩形上下左右全为 0 的行和列
class Solution {public int minimumArea(int[][] grid) {int row = grid.length;int col = grid[0].length;int minRow = row; // 最小行数int minCol = col; // 最小列数// 从上往下判断行是否都为 0,如果整行都为 0,minRow--// 反之停止循环boolean flag = true;for (int r = 0; r < row; ++r) {for (int c = 0; c < col; ++c) {if (grid[r][c] == 1) {flag = false;break;}}if (!flag) break;minRow--;}// 从下往上判断行是否都为 0flag = true;for (int r = row - 1; r > 0; --r) {for (int c = 0; c < col; ++c) {if (grid[r][c] == 1) {flag = false;break;}}if (!flag) break;minRow--;}// 从左往右判断列是否都为 0flag = true;for (int c = 0; c < col; ++c) {for (int r = 0; r < row; ++r) {if (grid[r][c] == 1) {flag = false;break;}}if (!flag) break;minCol--;}// 从右往左判断列是否都为 0flag = true;for (int c = col - 1; c > 0; --c) {for (int r = 0; r < row; ++r) {if (grid[r][c] == 1) {flag = false;break;}}if (!flag) break;minCol--;}return minCol * minRow;}
}