Leetcode:3195

1,题目

2,思路

首先找到上下左右初始边就开始循环找到上下左右最终边,做面积运算就好了(其中+1是因为下标比实际位置少1)

3,代码

java 复制代码
class Solution3195 {
    public int minimumArea(int[][] grid) {
        int above = 0;//上
        int under = 0;//下
        int left = 0;//左
        int right = 0;//右
        boolean b = true;
        for (int i = 0; i < grid.length; i++) {
            if (b) {
                for (int j = 0; j < grid[i].length; j++) {
                    if (grid[i][j] == 1) {
                        above = i;
                        under = i;
                        left = j;
                        right = j;
                        b = false;
                        break;
                    }
                }
            } else break;
        }
        for (int i = 0; i < grid.length; i++) {
            for (int j = 0; j < grid[i].length; j++) {
                if (grid[i][j] == 1) {
                    if (left >= j) {//左
                        left = j;
                    }
                    if (right <= j) {//右
                        right = j;
                    }
                    if (above >= i) {//上
                        above = i;
                    }
                    if (under <= i) {//下
                        under = i;
                    }
                }
            }
        }
        return (right - left + 1) * (under - above + 1);
    }
}
相关推荐
寂静山林11 小时前
UVa 11853 Paintball
算法
初圣魔门首席弟子11 小时前
vscode多文件编程bug记录
java·vscode·bug
华仔啊11 小时前
提升 Java 开发效率的 5 个神级技巧,超过 90% 的人没用全!
java·后端
沐浴露z11 小时前
【JVM】详解 线程与协程
java·jvm
前路不黑暗@11 小时前
Java:继承与多态
java·开发语言·windows·经验分享·笔记·学习·学习方法
ZhengEnCi11 小时前
J1A-Java版本选择踩坑指南-为什么99%的人选错JDK版本?大厂Java开发者的版本选择内幕大公开
java
再难也得平11 小时前
微服务拆分之SpringCloud
java·spring cloud·微服务
Theodore_102211 小时前
深度学习(10)模型评估、训练与选择
人工智能·深度学习·算法·机器学习·计算机视觉
ypf520811 小时前
springboot DevTools热部署
java
五条凪11 小时前
Verilog-Eval-v1基准测试集搭建指南
开发语言·人工智能·算法·语言模型