三維形體的表面積

2022-05-18 16:38:33 字數 796 閱讀 3706

在 n * n 的網格上,我們放置一些 1 * 1 * 1  的立方體。

每個值 v = grid[i][j] 表示 v 個正方體疊放在對應單元格 (i, j) 上。

請你返回最終形體的表面積。

示例 1:

輸入:[[2]] // 表示在grid[0][0]的位置有2個正方體

輸出:10

示例 2:

輸入:[[1,2],[3,4]] // 表示在grid[0][0]的位置有1個正方體,在grid[0][1]的位置有2個正方體,在grid[1][0]的位置有3個正方體在grid[1][1]的位置有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

class

solution

if(j != 0

) }

}return num*6 - numcontact*2

; }

};

解題思路:每個正方體的面有6個,每接觸1下,就會消耗2個面。因此只要計算出有多少個正方體,以及有多少個面有接觸就好了。

其中接觸面有兩種情況:(1)同乙個位置堆疊起來的正方體,其消耗的面個數為grid[i][j]-1(2)與左邊或上邊的立方體接觸,消耗的面個數為兩者的立方體個數最小值。

三維形體的表面積

三維形體的表面積 93min 在 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 ...

leetcode三維形體的表面積

對於grid i,j 設其值為val,則單獨考慮當前元素,其貢獻的表面積為4 val 2 但是,gird i,j 可能和其他元素挨著,當挨著時,對於接觸的表面,要減去其表面積 對grid i,j 有上下左右四個方向可能有接觸,但我們只需要考慮上和左兩個方向,右和下放到後面的元素去考慮。即對grid ...

892 三維形體的表面積

在 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...