美文网首页
Leetcode-Easy 887. Projection Ar

Leetcode-Easy 887. Projection Ar

作者: 致Great | 来源:发表于2018-08-14 20:14 被阅读43次

    题目描述

    给出NN的网格grid,然后根据grid[i][j]的值在上面放置相应数量的11*1的立方体,然后求在xy,xz,yz三个平面投射的总面积

    思路

    当时自己没有想到好办法,就是按部就班的分别求三个面的面积,注意求xy的面积的时候需要考虑grid[i][j]值是否为0

    代码实现

    class Solution:
        def projectionArea(self, grid):
            """
            :type grid: List[List[int]]
            :rtype: int
            """
            # xy平面的面积
            size=len(grid)
            xy_area=0
            for i in range(size):
                for j in range(size):
                    if grid[i][j]>0:
                        xy_area+=1
            # xz平面的面积
            xz_area=0
            temp_column=[]
            for i in range(size):
                for row in grid:
                    temp_column.append(row[i])
                xz_area+=max(temp_column)
                temp_column=[]
                
            # yz平面的面积
            yz_area=0
            for i in range(size):
                yz_area+=max(grid[i])
                
            return xy_area+xz_area+yz_area            
    

    相关文章

      网友评论

          本文标题:Leetcode-Easy 887. Projection Ar

          本文链接:https://www.haomeiwen.com/subject/fccbbftx.html