Leetcode 928 Solution
This article provides solution to leetcode question 928 (surface-area-of-3d-shapes)
Access this page by simply typing in "lcs 928" in your browser address bar if you have bunnylol configured.
Leetcode Question Link
https://leetcode.com/problems/surface-area-of-3d-shapes
Solution
class Solution:
def surfaceArea(self, grid: List[List[int]]) -> int:
m = len(grid)
n = len(grid[0])
ans = 0
for i in range(m):
for j in range(n):
cubes = grid[i][j]
if not cubes:
continue
n_cubes = grid[i - 1][j] if i > 0 else 0
s_cubes = grid[i + 1][j] if i < m - 1 else 0
w_cubes = grid[i][j - 1] if j > 0 else 0
e_cubes = grid[i][j + 1] if j < n - 1 else 0
ans += 2
ans += max(cubes - n_cubes, 0)
ans += max(cubes - s_cubes, 0)
ans += max(cubes - w_cubes, 0)
ans += max(cubes - e_cubes, 0)
return ans