Go•projection-area-of-3d-shapes/solution.go
package main
func projectionArea(grid [][]int) int {
area := 0
for row := range grid {
rowMax, columnMax := 0, 0
for column := range grid {
if grid[row][column] > 0 {
area++
}
if grid[row][column] > rowMax {
rowMax = grid[row][column]
}
if grid[column][row] > columnMax {
columnMax = grid[column][row]
}
}
area += rowMax + columnMax
}
return area
}
Python•projection-area-of-3d-shapes/solution.py
class Solution:
def projectionArea(self, grid: list[list[int]]) -> int:
top = sum(value > class="syntax-number">0 for row in grid for value in row)
return top + sum(map(max, grid)) + sum(max(column) for column in zip(*grid))
TypeScript•projection-area-of-3d-shapes/solution.ts
function projectionArea(grid: number[][]): number {
let area = class="syntax-number">0;
for (let row = class="syntax-number">0; row < grid.length; row += class="syntax-number">1) { let rowMax = class="syntax-number">0; let columnMax = class="syntax-number">0; for (let column = class="syntax-number">0; column < grid.length; column += class="syntax-number">1) { if (grid[row][column] > class="syntax-number">0) area += class="syntax-number">1; rowMax = Math.max(rowMax, grid[row][column]); columnMax = Math.max(columnMax, grid[column][row]); } area += rowMax + columnMax; }
return area;
}