在 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
做加法,對於grid[i][j]這個柱體而言,對總表面積的貢獻可以分為以下幾部分:
1.height = grid[i][j], 若height > 0,則其對上下表面積總共貢獻2;
2.對於該柱體的四個側面中的每乙個而言,若與其相貼的柱體側面高度最終將每個柱體貢獻的表面積相加即可。
int su***cearea(vector>& grid) ;
int dc;
int n = grid.size();
int ans = 0;
for (int r = 0; r < n; ++r)
for (int c = 0; c < n; ++c)
if (grid[r][c] > 0)
}return ans;
}
做減法,先不管三七二十一將每個柱體對總表面積的貢獻即上下左右前後6個面都算上,然後再減去它和相鄰的柱體重合而導致減少的表面積,重合的面積是該柱體與相鄰柱體中較矮的高度,為避免減去已經減過的重合面積,對每個柱體都計算其背面和左面的重合面積。
int su***cearea(vector>& grid)} }return ans;
}
LeetCode數學題 836矩形重疊
矩形以列表 x1,y1,x2,y2 的形式表示,其中 x1,y1 為左下角的座標,x2,y2 是右上角的座標。如果相交的面積為正,則稱兩矩形重疊。需要明確的是,只在角或邊接觸的兩個矩形不構成重疊。給出兩個矩形,判斷它們是否重疊並返回結果。示例 1 輸入 rec1 0,0,2,2 rec2 1,1,3...
小學數學題
小學數學題1 usetyp 1 目標 擷取字串usetyp 注意,usetyp的長度是可變的 問題 求以上字串usetyp的長度 注意usetyp的長度是不固定 設usetyp的長度 p 已知1 號的索引位置x indexof 已知理論2 字串長度 最大索引 1 所以,p x 1 3 p x 2 所...
數學題亂記
在 delta abc 中,滿足 cos 2 cfrac 判斷三角形形狀。其中 begin cos 2 cfrac cfrac cfrac sin 1 cos cfrac sin 1 cos cfrac 1 cos cfrac cos cfrac end 根據餘弦定理有 cos cfrac 所以可得...