0
点赞
收藏
分享

微信扫一扫

Java 小游戏《超级马里奥》

中间件小哥 2024-10-31 阅读 26

给你一个二维 二进制 数组 grid。请你找出一个边在水平方向和竖直方向上、面积 最小 的矩形,并且满足 grid 中所有的 1 都在矩形的内部。

返回这个矩形可能的 最小 面积。

示例 1:

示例 2:

提示:

  • 1 <= grid.length, grid[i].length <= 1000
  • grid[i][j] 是 0 或 1。
  • 输入保证 grid 中至少有一个 1 。

我的解答:

class Solution {
public int minimumArea(int[][] grid) {
int min_x = 1000,min_y = 1000;
int max_x = 0,max_y = 0;
for(int x = 0; x < grid.length; x++){
for(int y = 0; y < grid[x].length; y++){
if(grid[x][y] == 1){
// 找出最早出现1的x坐标
min_x = Math.min(min_x,x);
// 找出最晚出现1的x坐标
max_x = Math.max(max_x,x);
// 找出最早出现1的y坐标
min_y = Math.min(min_y,y);
// 找出最晚出现1的y坐标
max_y = Math.max(max_y,y);
}
}
}
return (max_x - min_x + 1) * (max_y - min_y + 1) ;
}
}

举报

相关推荐

0 条评论