1、前言
题目描述2、思路
分为俯视图、左视图、右视图。俯视图只要是不为0,直接 +1 就行;左视图直接找每行最大的;右视图直接找每列最大的
3、代码
class Solution {
public int projectionArea(int[][] grid) {
int down = 0, left = 0, right = 0;
for(int i = 0; i < grid.length; i++){
int leftMax = 0, rightMax = 0;
for(int j = 0; j < grid[0].length; j++){
if(grid[i][j] != 0) down++;
leftMax = Math.max(leftMax, grid[i][j]);
rightMax = Math.max(rightMax, grid[j][i]);
}
left += leftMax;
right += rightMax;
}
return down + left + right;
}
}
网友评论