LeetCode 892 三錐形體的表面積

2021-10-23 03:22:48 字數 810 閱讀 1033

892.三錐形體的表面積

思路:考慮到每乙個立方體能夠貢獻的表面積和六個面是否有相鄰的立方體有關;

第乙個思路是遍歷每乙個立方體,再判斷該立方體的四周及上下面是否存在相鄰的立方體,每個面不存在就表面積加1

這樣的思路實現後的時間複雜度就上去了,相當於時間複雜度是kn^2(k為總的立方體個數,n為格仔數),因此耗時13ms;

參考了優秀的題解,有了優化方向;

再優化就考慮先計算:

每個柱體是由:2個底面(上表面/下表面)+ 所有的正方體都貢獻了4個側表面積

再減去:兩個柱體貼合的表面積(兩個柱體高的最小值*2)。

class

solution

else

//右if

(i == n -1)

else

//前if

(j ==0)

else

//後if

LeetCode892 三維形體的表面積

題目描述 在 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...

LeetCode 892 三維形體的表面積

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 輸出...

LeetCode 892 三維形體的表面積

表面積 頂面積 底面積 側面積 只要單元格內有正方體,它就貢獻出底面 表面 即v 0,等於表面積 2 側面積用v跟相鄰單元格的v比較,若v 相鄰單元格v2,則側面積 v v2,反之 0 單元格grid i j 的相鄰單元格為grid i 1 j grid i 1 j grid i j 1 grid ...