Leetcode 892. 3 차원 형체 의 표면적 (Python 3)

... 에 있다 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
class Solution:
    def surfaceArea(self, grid: List[List[int]]) -> int:
        #n      ,m    
        n,m = 0,0
        for i in range(len(grid)):
            for j in range(len(grid[0])):
                if grid[i][j]:
                    n += grid[i][j]
                if grid[i][j] > 1:
                    m += (grid[i][j] - 1) 
                # 
                if i < (len(grid) - 1) and grid[i+1][j]:
                    m += min(grid[i][j],grid[i+1][j])
                # 
                if j < (len(grid[0]) - 1) and grid[i][j+1]:
                    m += min(grid[i][j],grid[i][j+1])
        return (6 * n - 2 * m )

주: 2019 년 가을 모집 360

좋은 웹페이지 즐겨찾기