千家信息网

leetcode中如何求三维形体的表面积

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,小编给大家分享一下leetcode中如何求三维形体的表面积,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!三维形体的表面积在 N * N 的网格上,我们放置一些 1 * 1 * 1 的
千家信息网最后更新 2026年11月01日leetcode中如何求三维形体的表面积

小编给大家分享一下leetcode中如何求三维形体的表面积,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

三维形体的表面积

在 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 <= 500 <= grid[i][j] <= 50


思路:

  • 一个立方体的面积为 4 * 1 + 2

  • n 个立方体并排或者并列的面积为 ((4 * 1 + 2) - min(1,1) * 2) * (n - 1) + 4 * 1 + 2((4∗1+2)−min(1,1)∗2)∗(n−1)+4∗1+2 (其中min(1,1) * 2 是两个连一起导致的被隐藏的表面积)


class Solution:    def surfaceArea(self, grid: List[List[int]]) -> int:        ans = 0        for i in range(len(grid)):            for j in range(len(grid[0])):                if grid[i][j] > 0:                    ans += grid[i][j] * 4 + 2                if i > 0:                    ans -= 2 * min(grid[i][j], grid[i - 1][j])                if j > 0:                    ans -= 2 * min(grid[i][j], grid[i][j - 1])        return ans

看完了这篇文章,相信你对"leetcode中如何求三维形体的表面积"有了一定的了解,如果想了解更多相关知识,欢迎关注行业资讯频道,感谢各位的阅读!

表面 表面积 示例 输入 输出 形体 三维 立方体 篇文章 面积 两个 单元 完了 思路 更多 正方 正方体 知识 网格 行业 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网络科技 广东猪兼强互联网科技有限公司 科技赋能下的互联网金融 互联网科技垄断 互联网科技战争 上海互联网科技有限公司 阿里巴巴算科技企业还是互联网 湖北码尼互联网科技有限公司电话 黑科技闪耀互联网之光 赶超互联网科技 微信多开 迪庆互联网科技招生 互联网科技公司营业执照怎么办理 群盈汇互联网科技有限公司 恒生互联网科技业指数调整周期 35岁以上互联网科技行业 江苏互联网科技小贷 昆明中奇联合互联网科技 长沙渺峰互联网科技有限公司 求路客互联网科技电话 互联网科技的前景 科技互联网企业 成都互联网科技公司 互联网为啥属于高科技 和信科技工业互联网 辽宁互联网新科技 民营互联网公司国防科技 天津腾达互联网科技有限公司 互联网公司黑科技创始人 杭州披云加互联网科技有限公司 卡尔迅互联网科技有限公司
0