LeetCode(892)——三维形体的表面积(JavaScript)
在 N * N
的网格上,我们放置一些 1 * 1 * 1
的立方体。
每个值 v = grid[i][j]
表示 v
个正方体叠放在对应单元格 (i, j)
上。
请你返回最终形体的表面积。
示例1:
输入:[[2]]
输出:10
示例2:
输入:[[1,2],[3,4]]
输出:34
示例3:
输入:[[1,0],[0,2]]
输出:16
示例4:
输入:[[1,1,1],[1,0,1],[1,1,1]]
输出:32
示例5:
输入:[[2,2,2],[2,1,2],[2,2,2]]
输出:46
提示:
1 <= N <= 50
0 <= grid[i][j] <= 50
/*** @param {number[][]} grid* @return {number}*/
var surfaceArea = function(grid) {};
个人解法
var surfaceArea = function(grid) {var result = 0;grid.forEach(element => {element.forEach(element2 => {//遍历每个位置,每个立方体表面积加6result += (element2 * 6);//如果某个位置有大于一个的立方体,那么它上下重叠表面积减2if(element2 > 1){result -= ((element2 - 1) * 2);}});}); //对x轴方向重叠的立方体,表面积减去最少立方体*2,比如三个立方体跟两个立方体相邻,那么表面积则要减去4for(var i = 0; i < grid.length; i++){for(var j = 0; j < grid[i].length - 1; j++){result -= (grid[i][j] > grid[i][j + 1] ? grid[i][j + 1] * 2 : grid[i][j] * 2);}}//遍历y轴方向重叠的立方体for(var i = 0; i < grid[0].length; i++){for(var j = 0; j < grid.length - 1; j++){result -= (grid[j][i] > grid[j + 1][i] ? grid[j + 1][i] * 2 : grid[j][i] * 2);}}return result;
};
LeetCode(892)——三维形体的表面积(JavaScript)相关推荐
- LeetCode:892. 三维形体的表面积
892. 三维形体的表面积 题目: 解题思路: 源码: 踩坑点: 题目: 解题思路: 我们先来理解一下题意: [[1,2],[3,4]]就是一个二维数组A.A[i][j]表示每一个以单位正方形为底的空 ...
- LeetCode 892. 三维形体的表面积
892. 三维形体的表面积 思路:每列的长方形体积为4*grid[i][j]+2,减去抵消掉的表面积 class Solution { public:int surfaceArea(vector< ...
- LeetCode 892. 三维形体的表面积(数学)
1. 题目 在 N * N 的网格上,我们放置一些 1 * 1 * 1 的立方体. 每个值 v = grid[i][j] 表示 v 个正方体叠放在对应单元格 (i, j) 上. 请你返回最终形体的表面 ...
- Leetcode:892. 三维形体的表面积(Java)
在 N * N 的网格上,我们放置一些 1 * 1 * 1 的立方体. 每个值 v = grid[i][j] 表示 v 个正方体叠放在对应单元格 (i, j) 上. 请你返回最终形体的表面积. 示例 ...
- 力扣892.三维形体的表面积
题目描述 在 N * N 的网格上,我们放置一些 1 * 1 * 1 的立方体. 每个值 v = grid[i][j] 表示 v 个正方体叠放在对应单元格 (i, j) 上. 请你返回最终形体的表面积 ...
- LeetCode简单题之三维形体的表面积
题目 给你一个 n * n 的网格 grid ,上面放置着一些 1 x 1 x 1 的正方体.每个值 v = grid[i][j] 表示 v 个正方体叠放在对应单元格 (i, j) 上. 放置好正方体 ...
- LeetCode 三维形体的表面积
在 N * N 的网格上,我们放置一些 1 * 1 * 1 的立方体. 每个值 v = grid[i][j] 表示 v 个正方体叠放在对应单元格 (i, j) 上. 请你返回最终形体的表面积. 示例 ...
- python求球的表面积_892. 三维形体的表面积(Python)
题目 难度:★★☆☆☆ 类型:几何.数学.二维数组 在 N * N 的网格上,我们放置一些 1 * 1 * 1 的立方体. 每个值 v = grid[i][j] 表示 v 个正方体叠放在单元格 (i, ...
- 883. 三维形体投影面积(javascript)883. Projection Area of 3D Shapes
在 n x n 的网格 grid 中,我们放置了一些与 x,y,z 三轴对齐的 1 x 1 x 1 立方体. 每个值 v = grid[i][j] 表示 v 个正方体叠放在单元格 (i, j) 上. ...
最新文章
- 深度学习(7)卷积神经网络
- java轻量级并行工具类_16 个超级实用的 Java 工具类
- C++静态库与动态库(简介)
- P1605 迷宫 dfs回溯法
- html 下拉列表美化,JS+CSS实现美化的下拉列表框效果
- java开发汉字显示不全_求java转码ISO-8859-1转UTF-8汉字显示不全补救方案?
- 《程序是怎样跑起来的》读书笔记——第三章 计算机进行小数运算时出错的原因...
- Stanford机器学习---第六讲. 怎样选择机器学习方法、系统
- armeabi armeabi-v7a mips x86 理解
- 一个完美网站的101项指标.第二部分.内容为王
- 删除有TrustedInstaller权限的文件-亲测有效
- 白帽黑客获 5 万美元赏金!只因利用漏洞控制所有特斯拉汽车
- java 下载文件的文件名乱码_JAVA 文件下载时的文件名乱码解决
- STM32CubeMX学习笔记(5)——基本定时器接口使用
- 爬取堆糖蜜桃猫图片并下载到本地
- 股票每天最高最低价的黄金分割线买卖点标记
- 开启 QQ 邮箱 POP3, SMTP 服务和获取服务授权码(密码)
- npm adduser 和 npm publish 的踩坑
- 团队使我成长,学习使我快乐
- adb命令删除apk,不止是uninstall,卸载内置的app方法