题目描述:

在 N * N 的网格中,我们放置了一些与 x,y,z 三轴对齐的 1 * 1 * 1 立方体。

每个值 v = grid[i][j] 表示 v 个正方体叠放在单元格 (i, j) 上。

现在,我们查看这些立方体在 xy、yz 和 zx 平面上的投影

投影就像影子,将三维形体映射到一个二维平面上。

在这里,从顶部、前面和侧面看立方体时,我们会看到“影子”。

返回所有三个投影的总面积。

示例 1:

输入:[[2]]
输出:5

示例 2:

输入:[[1,2],[3,4]]
输出:17
解释:
这里有该形体在三个轴对齐平面上的三个投影(“阴影部分”)。

示例 3:

输入:[[1,0],[0,2]]
输出:8

示例 4:

输入:[[1,1,1],[1,0,1],[1,1,1]]
输出:14

示例 5:

输入:[[2,2,2],[2,1,2],[2,2,2]]
输出:21

提示:

  • 1 <= grid.length = grid[0].length <= 50
  • 0 <= grid[i][j] <= 50

解题思路:

本题和之前做过的【807. 保持城市天际线】 问题很相似,本题是找三视图的面积,分别分成三个面来求解,

俯视:只要在网格位置上放置了立方体,向下投影的面积都是1,所以只需要区分有没有网格上放置立方体。

前视:找到对应列立方体最高的投影面积和(即每列最大值之和)。

左视:与前视原理一致。找到对应行立方体最高的投影面积和(即每列最大值之和)。

AC代码:

class Solution {
public:
int projectionArea(vector<vector<int>>& grid)
{//button int btonNums = 0;for (int i = 0; i < grid.size(); i++){for (int j = 0; j < grid[0].size(); j++){if (grid[i][j]>0) btonNums++;}}//fontint fontNums = 0;for (int i = 0; i < grid.size(); i++){int Rmax = 0;for (int j = 0; j < grid[0].size(); j++){if (grid[i][j]>Rmax) Rmax = grid[i][j];}fontNums += Rmax;}//leftint  leftNums = 0;for (int j = 0; j < grid.size(); j++){int Cmax = 0;for (int i = 0; i < grid[0].size(); i++){if (grid[i][j]>Cmax) Cmax = grid[i][j];}leftNums += Cmax;}return btonNums + fontNums + leftNums;
}
};

【Leetcode】883. 三维形体投影面积相关推荐

  1. LeetCode 883. 三维形体投影面积(数学)

    文章目录 题目 方法:数学 题目 883. 三维形体投影面积 方法:数学 xyxyxy 平面的投影面积等于网格上非零数值的数目 yz\texttt{yz}yz 平面的投影面积等于网格上每一列最大数值之 ...

  2. LeetCode——883. 三维形体投影面积

    文章目录 题目描述 答案 我的答案 官方答案 数学 题目描述 在 n x n 的网格 grid 中,我们放置了一些与 x,y,z 三轴对齐的 1 x 1 x 1 立方体. 每个值 v = grid[i ...

  3. leetcode 883. 三维形体投影面积(python)

    题目链接 题目描述: 在 N * N 的网格中,我们放置了一些与 x,y,z 三轴对齐的 1 * 1 * 1 立方体. 每个值 v = grid[i][j] 表示 v 个正方体叠放在单元格 (i, j ...

  4. LeetCode 883 三维形体投影面积[数学] HERODING的LeetCode之路

    解题思路: 本次每日一题题目描述极其不清,其实就是对于n*n的物体,求其三个投影的面积和,也就是底面积(该位置是否有方块)+每行最高的和+每列最高的和,代码如下: class Solution {pu ...

  5. LeetCode刷题之883. 三维形体投影面积

    LeetCode刷题之883. 三维形体投影面积 我不知道将去向何方,但我已在路上! 时光匆匆,虽未曾谋面,却相遇于斯,实在是莫大的缘分,感谢您的到访 ! 题目: 在N*N的网格中,我们放置了一些与 ...

  6. 力扣——883. 三维形体投影面积(Java、JavaScript、C实现)

    三维形体投影面积 在 n x n 的网格 grid 中,我们放置了一些与 x,y,z 三轴对齐的 1 x 1 x 1 立方体. 每个值 v = grid[i][j] 表示 v 个正方体叠放在单元格 ( ...

  7. LeetCode 887. 三维形体投影面积

    887. 三维形体投影面积 在 N * N 的网格中,我们放置了一些与 x,y,z 三轴对齐的 1 * 1 * 1 立方体. 每个值 v = grid[i][j] 表示 v 个正方体叠放在单元格 (i ...

  8. 【C语言刷LeetCode】883. 三维形体投影面积(E)

    [ 格 grid 中,我们放置了一些与 x,y,z 三轴对齐的 1 x 1 x 1 立方体. 每个值 v = grid[i][j] 表示 v 个正方体叠放在单元格 (i, j) 上. 现在,我们查看这 ...

  9. 883.三维形体投影面积

    在 N * N 的网格中,我们放置了一些与 x,y,z 三轴对齐的 1 * 1 * 1 立方体. 每个值 v = grid[i][j] 表示 v 个正方体叠放在单元格 (i, j) 上. 现在,我们查 ...

最新文章

  1. Jmail 64bit 64位 不支持
  2. 高性能计算中并行的概念理解
  3. MongoDB在Windows系统下的安装和启动
  4. 家纺B2C优雅100获IDG及DCM 1000万美元投资
  5. 求矩阵中各列数字的和
  6. 基于优化反馈的组合在线学习
  7. SpringMvc01 第一个Springmvc应用
  8. Python可视化数据------seaborn
  9. 各执一词,民用安防市场现状看法PK
  10. 简析三星新专利,语音识别技术的新方法
  11. 电影票预售系统1.0
  12. 有了PDA手持终端,仓库再也不愁盘点了
  13. EasyDarwin流媒体云平台:EasyCamera开源摄像机接入海康威视摄像机实时视频
  14. android timepicker分割线颜色,Android TimePicker 的使用
  15. ORA-01403未找到任何数据select into问题分析
  16. 3.基于Golang协程实现流量统计系统-快速构建一个示例网站
  17. xbox one x驱动_Xbox One,Xbox One S和Xbox One X有什么区别?
  18. SEO新手入门系列2022(五):挖掘关键词
  19. proteus仿真micropython_【雕爷学编程】MicroPython动手做(07)——零基础学MaixPy之机器视觉...
  20. Windows沙拉:为什么下载的文件打开时会有警告,而且会被“锁定”?

热门文章

  1. 微型计算机型数据采集系统特点,数据采集系统
  2. 题解:P4961 小埋与扫雷
  3. FFT算法的DSP实现
  4. ffmpeg用drawtext filter 给视频加字幕,代码实现
  5. EXCEL字符串截取技巧
  6. SVM对于高斯核函数的理解
  7. 关闭编译器FPO优化
  8. 商业银行金融IC卡国密改造安全建设方案
  9. 贪心算法-加勒比海盗船——最优装载问题
  10. 关于「作者饱醉豚违反简书社区规则」事件的后续处理公告