zoukankan      html  css  js  c++  java
  • leetcode 892. 三维形体的表面积

    题目描述:

    在 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

    最开始!!!!题目半天没看懂......捂脸..

    如上图:输入为:【【2,1】,【1,0】】,求这四个立方体组成的整体的表面积,立方体个数*6-接触面*2=4*6-3*2=18

    class Solution {
    public:
        int surfaceArea(vector<vector<int>>& grid) {
            int i,j,number;
            int sum=0,num = 0;
            for(i=0;i<grid.size();i++)
            {
                for(j=0;j<grid[0].size();j++)
                {
                    if(grid[i][j]!=0)
                    {
                        sum = sum+grid[i][j];
                    }
                    if(grid[i][j]>1)
                    {
                        num = num+grid[i][j]-1;
                    }
                    if(i+1 < grid[0].size() && grid[i+1][j] != 0) //
                    {
                        num = num+min(grid[i][j],grid[i+1][j]);
                    }
                     if(j+1 < grid.size() && grid[i][j+1] != 0)   //
                    {
                        num = num+min(grid[i][j],grid[i][j+1]);
                    }
                }
            }
            number = sum*6-num*2;
            return number;
        }
    };

    题目链接:https://leetcode-cn.com/problems/surface-area-of-3d-shapes/

    
    
  • 相关阅读:
    勇气
    Node.js的安装和配置
    jekins构建时,远程执行shell的问题
    CDMA系统原理二
    详解Android定位
    Docker 简介
    Polly+HttpClientFactory
    K8s-Helm
    k8s-部署应用
    K8S-Pod
  • 原文地址:https://www.cnblogs.com/hdyss/p/10800162.html
Copyright © 2011-2022 走看看