当前位置: 首页 > news >正文

三维形体的表面积

三维形体的表面积
在 N * N 的网格上,我们放置一些 1 * 1 * 1 的立方体。
每个值 v = grid[i][j] 表示 v 个正方体叠放在对应单元格 (i, j) 上。
请你返回最终形体的表面积。
例子:
输入:[[2,1],[1,0]]输出:18

解题思路:
刚碰到这道题时,并没有特别思路,经过作图和一些启发,我们可以用累加重叠,算出单独的表面积,求和,在减去覆盖的面积。但是太过繁琐。直到一幅水从上到下,从左到右流过表面的图像出现在脑海,有了新的启发。
我们可以用2n个机器人,分别两队,从左到右(每行一个),从上到下(每列一个)走过每个网格顶部,加上所有相邻顶部的落差,这便是所有的侧表面积,同时判断此网格不为0,不为0便多加2,这是顶底表面积。这样便没有所谓的重叠面积要减。

算法步骤:

  1. 每行每列记录相邻网格落差,记录侧面积。
  2. 同时判断该网格是否非0,记录顶底面积。
  3. 每次计算到行或列最后一个元素后,加上高度,因为没有下一个网格,这是他的外围侧面积。

数据分析:
Int a,b,c:分别记录行,列侧面积和顶底面积

复杂度分析:
空间复杂度:O(1)
时间复杂度:O(N^2)

图解过程:在这里插入图片描述
在这里插入图片描述

#include <stdio.h>
#include <stdlib.h>  
#define L 2
int grid[L][L];
int sum(int l){int a=0,b=0,c=0;int aa=0,bb=0; for (int i=0;i<l;i++){aa=0;bb=0;for(int j=0;j<l;j++){a+=abs(grid[i][j]-aa);aa=grid[i][j];b+=abs(grid[j][i]-bb);bb=grid[j][i];if (grid[i][j]!=0) c+=2;}a+=grid[i][l-1];b+=grid[l-1][i];}return a+b+c;
}int main(){for (int i=0;i<L;i++){for(int j=0;j<L;j++){scanf("%d",&grid[i][j]);}}printf("网格表面积为%d",sum(L));
}

相关文章:

三维形体的表面积

三维形体的表面积 在 N * N 的网格上&#xff0c;我们放置一些 1 * 1 * 1 的立方体。 每个值 v grid[i][j] 表示 v 个正方体叠放在对应单元格 (i, j) 上。 请你返回最终形体的表面积。 例子&#xff1a; 输入&#xff1a;[[2,1],[1,0]]输出&#xff1a;18 解题思路&#xff1…...

二维码数据压缩实践 | 使用python对二维码数据进行压缩 |不乱码,支持中文

当前二维码的应用越来越广泛&#xff0c;包括疫情时期的健康码也是应用二维码的典型案例&#xff0c;最近需要通过一张二维码显示较多文本数据&#xff0c;也就是对二维码数据进行压缩&#xff0c;使用CSDN搜索了半天居然没有能简单使用的代码&#xff0c;很多事例代码解决不了…...

C语言学习_DAY_3_基本数据类型_运算符与表达式【C语言学习笔记】

目录 I. 基本数据类型 II. 复杂的输出和输入语句编写 III. 运算符与表达式 III.I 算术运算符 III.II 关系运算符 III.III 逻辑运算符 III.IV 位运算符 III.V 三目运算符 III.VI 逗号运算符 高质量博主&#xff0c;点个关注不迷路&#x1f338;&#x1f338;&#x1f3…...

c++练习题(4)

题号&#xff1a;1 设int a3&#xff0c;b2&#xff1b;则a*b的结果是&#xff08;&#xff09; A、2 B、7 C、3 D、8 题号&#xff1a;2 一个程序单位中不包括以下哪项&#xff08;&#xff09; A、伪代码 B、函数 C、预处理指令 D、全局声明 题号&#xff1a;3 若a-14,…...

腾讯云 cos 字体在CDN上跨域处理

问题描述&#xff1a;项目中用到了字体的静态资源&#xff0c;把静态资源放到了腾讯云对象存储提供的 COS 上&#xff0c;同时启用它的CDN来加速。但是&#xff0c;调试的过程中发现报错&#xff1a;CSS加载字体跨域了&#xff0c;字体图标无法正常显示。 原因&#xff1a;字体…...

api是什么意思?又该如何使用呢?

一、应用程序编程接口 API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数&#xff0c;目的是提供应用程序与开发人员基于某软件或硬件的以访问一组例程的能力&#xff0c;而又无需访问源码&#xff0c;或理解内部工作机制的细节。 API全称 "…...

JavaScript------面向对象

目录 一、面向对象编程&#xff08;OOP&#xff09; 基本概念 二、类 1、语法 2、通过类创建对象 3、类的属性 4、类的方法 5、构造函数 三、面向对象的三个特点 1、封装 如何确保数据的安全&#xff08;实现封装的方式&#xff09;&#xff1a; 2、继承 在子类中&a…...

charles+夜神模拟器抓包

1.资料地址: 链接&#xff1a;https://pan.baidu.com/s/1w9qYfFPJcduN4If50ICccw 提取码&#xff1a;a7xa2.安装charles 和夜神模拟器并配置参考地址: https://www.beierblog.com/archives/%E4%BA%B2%E6%B5%8B%E5%AE%8C%E5%85%A8%E5%8F%AF%E8%A1%8Ccharles%E6%8A%93%E5%8C%85%E…...

【STC15单片机】模拟I2C操作AT24C02数据读取【更新中】

目录 I2C时序结构 I2C代码 AT24C02代码&#xff08;继承I2C底层代码&#xff09; PCF8591 PCB上线的长短可能影响数据传输的时间&#xff0c;写I2C时序可能就要加一点延时 I2C时序结构 起始条件&#xff1a;SCL高电平期间&#xff0c;SDA从高电平切换到低电平终止条件&…...

Hadoop

Hadoop Hadoop1.x 2.x 3.x区别 Hadoop1.x组成&#xff1a;MapReduce负责计算和资源调度&#xff0c;HDFS负责数据存储&#xff0c;Common辅助工具。 Hadoop2.x组成&#xff1a;MapReduce负责计算&#xff0c;Yarn负责资源调度&#xff0c;HDFS负责数据存储&#xff0c;Commo…...

ArrayList源码+扩容机制分析

1. ArrayList 简介 ArrayList 的底层是数组队列&#xff0c;相当于动态数组。与 Java 中的数组相比&#xff0c;它的容量能动态增长。在添加大量元素前&#xff0c;应用程序可以使用ensureCapacity操作来增加 ArrayList 实例的容量。这可以减少递增式再分配的数量。 ArrayLis…...

数据库(第四次作业)

学生表&#xff1a;Student (Sno, Sname, Ssex , Sage, Sdept) 学号&#xff0c;姓名&#xff0c;性别&#xff0c;年龄&#xff0c;所在系 Sno为主键 课程表&#xff1a;Course (Cno, Cname,) 课程号&#xff0c;课程名 Cno为主键 学生选课表&#xff1a;SC (Sno, Cno, Score)…...

传统档案管理,为什么影响企业上市进度?

企业上市&#xff0c;对于很多创业者来说&#xff0c;是他们奋发努力的首要目标。企业通过上市&#xff0c;进行股权融资&#xff0c;扩大经营规模&#xff0c;加速促进公司成长&#xff0c;最终达到企业的可持续发展。而要实现成功上市&#xff0c;企业除了需要满足股份公司上…...

9个EXCEL舍入函数公式的用法和实例

用法和实例 1. ROUND ROUND函数可以将数字四舍五入到指定的小数位数。 语法&#xff1a;ROUND(number, num_digits) number&#xff1a;要四舍五入的数字。 num_digits&#xff1a;要保留的小数位数。 举例&#xff1a; ROUND(3.14159,2)&#xff0c;结果为3.14 ROUND(3.141…...

设计模式:代理模式给原始类附加功能

一、代理模式 1、定义 在不改变原始类&#xff08;被代理类&#xff09;的情况下&#xff0c;通过引入代理类来给原始类附加功能。 一般情况下&#xff0c;让代理类和原始类实现同样的接口。 但是&#xff0c;如果原始类并没有定义接口&#xff0c;并且原始类代码并不是我们…...

JavaScript刷LeetCode拿offer-链表篇

一、链表 链表&#xff08;Linked List&#xff09;是一种常见的基础数据结构&#xff0c;也是线性表的一种。 一个线性表是 n 个具有相同特性的数据元素的有限序列&#xff0c;线性表的存储结构分为两类&#xff1a;顺序表&#xff08;数组&#xff09;和链表。 链表相比较顺…...

CPP2022-28-期末模拟测试01

6-1 实现一个计算三角形面积的简单函数&#xff08;假设输入的边长合理&#xff09;。 分数 10 全屏浏览题目 切换布局 作者 王和兴 单位 东北大学秦皇岛分校 实现一个计算三角形面积的简单函数&#xff08;假设输入的边长合理&#xff09;。 函数接口定义&#xff1a; do…...

牛客网Python篇数据分析习题(五)

1.现有牛客网12月每天练习题目的数据集nowcoder.csv。包含如下字段&#xff08;字段之间用逗号分隔&#xff09;&#xff1a; user_id:用户id question_id&#xff1a;问题编号 result&#xff1a;运行结果 date&#xff1a;练习日期 请你统计答对和答错的总数分别是多少。 imp…...

华为OD机试真题JAVA实现【人数最多的站点】真题+解题思路+代码(20222023)

🔥系列专栏 华为OD机试(JAVA)真题目录汇总华为OD机试(Python)真题目录汇总华为OD机试(C++)真题目录汇总华为OD机试(JavaScript)真题目录汇总文章目录 🔥系列专栏题目输入输出示例一输入输出说明解题思路核心知识点Code运行结果版权说...

ROS2机器人编程简述humble-第四章-IMPROVED DETECTOR .4

ROS2之TF2小练习-颜色随机器人和障碍物直接距离变化ROS2之TF2小练习-有哪些bug找找看里面给出了&#xff1a;ROS2机器人编程简述humble-第四章-BASIC DETECTOR .3需要改进哪些地方呢&#xff1f;检测之后&#xff0c;距离不变了……如何变化&#xff1f;这个问题可以问chatgpt吗…...

依存句法分析 -- tag和dep释义

依存句法分析&#xff08;Dependency Parsing, DP&#xff09;是通过分析语言单位内成分之间的依存关系揭示其句法结构&#xff0c;主张橘子 中核心动词是支配其它成分的中心成分&#xff0c;而它本身却不受其他任何成分的支配&#xff0c;所有受支配成分都以某种关系从属于支配…...

服务器常见的网络攻击以及防御方法

网络安全威胁类别 网络内部的威胁&#xff0c;网络的滥用&#xff0c;没有安全意识的员工&#xff0c;黑客&#xff0c;骇客。 木马攻击原理 C/S 架构&#xff0c;服务器端被植入目标主机&#xff0c;服务器端通过反弹连接和客户端连接。从而客户端对其进行控制。 病毒 一…...

Python期末复习知识点大合集(期末不挂科版)

Python期末复习知识点大合集&#xff08;期末不挂科版&#xff09; 文章目录Python期末复习知识点大合集&#xff08;期末不挂科版&#xff09;一、输入及类型转换二、格式化输出&#xff1a;字符串的format方法三、流程控制四、随机数生成五、字符串六、序列索&#xff08;含字…...

Echarts 雷达图设置拐点大小和形状,tooltip后文字不居中对齐

第017个点击查看专栏目录Echarts的雷达图的拐点大小和形状是可以设置的&#xff0c;在series中设置symbol 相应的属性即可。 使用tooltip的时候&#xff0c;默认状态文字是居中对齐的&#xff0c;不好看。需要在tooltip属性中设置一下&#xff0c;如图所示&#xff0c;效果比较…...

Lesson 7.1 无监督学习算法与 K-Means 快速聚类

文章目录一、聚类算法与无监督学习二、K-Means 快速聚类的算法原理1. K-Means 快速聚类的基本执行流程2. K-Means 快速聚类的背后的数学意义三、K-Means 快速聚类的 sklearn 实现方法1. sklearn 中实现 K-Means 快速快速聚类2. 轮廓系数基本概念与 sklearn 中实现方法从现在开始…...

优维低代码:Legacy Templates 构件模板

优维低代码技术专栏&#xff0c;是一个全新的、技术为主的专栏&#xff0c;由优维技术委员会成员执笔&#xff0c;基于优维7年低代码技术研发及运维成果&#xff0c;主要介绍低代码相关的技术原理及架构逻辑&#xff0c;目的是给广大运维人提供一个技术交流与学习的平台。 连载…...

最全面的SpringBoot教程(五)——整合框架

前言 本文为 最全面的SpringBoot教程&#xff08;五&#xff09;——整合框架 相关知识&#xff0c;下边将对SpringBoot整合Junit&#xff0c;SpringBoot整合Mybatis&#xff0c;SpringBoot整合Redis等进行详尽介绍~ &#x1f4cc;博主主页&#xff1a;小新要变强 的主页 &…...

信息安全保障

信息安全保障信息安全保障基础信息安全保障背景信息安全保障概念与模型基于时间的PDR模型PPDR模型&#xff08;时间&#xff09;IATF模型--深度防御保障模型&#xff08;空间&#xff09;信息安全保障实践我国信息安全保障实践各国信息安全保障我国信息安全保障体系信息安全保障…...

windows/linux,mosquitto插件mosquitto-auth-plug说明,重点讲解windows下

先贴代码,再讲方法 #ifndef AUTH_PLUG_H #define AUTH_PLUG_H#ifdef _WIN32 #ifdef AUTH_PLUG_EXPORTS # define AUTH_PLUG_AP...

GWAS:mtag (Multi-Trait Analysis of GWAS) 分析

mtag (Multi-Trait Analysis of GWAS)作用&#xff1a;通过对多个表型相似的GWAS summary结果进行联合分析&#xff0c;发现更多的表型相关基因座。 以抑郁症状、神经质和主观幸福感这三个表型为例&#xff0c;分别对他们进行GWAS分析&#xff0c;鉴定得到32、9 和 13个基因座与…...

wordpress 全部tags/北京搜索优化排名公司

最近几年&#xff0c;身边的很多朋友都在朋友圈晒出了他们的迪拜之旅&#xff0c;真是应了“世界那么大&#xff0c;我想去看看”这句话&#xff0c;看来不来次境外旅行真的容易被朋友们鄙视了&#xff0c;所以我也来跟个风&#xff0c;去迪拜看看异域的风景到底有何不同&#…...

怎么建com的网站/广州网站建设推广专家

我想得到按流量来排序&#xff0c;而且还是倒序&#xff0c;怎么达到实现呢&#xff1f; 达到下面这种效果&#xff0c; 默认是根据key来排&#xff0c; 我想根据value里的某个排&#xff0c; 解决思路:将value里的某个&#xff0c;放到key里去&#xff0c;然后来排 下面&#…...

wordpress bug模式/武汉seo搜索优化

废话不多说了&#xff0c;直接给大家贴代码了&#xff0c;具体代码如下所示&#xff1a;#安装依赖包yum search libaio # search for infoyum install libaio # install library#新建用户组合用户groupadd mysqluseradd mysql -g mysql#解压到data下面tar -zxvf /data/software…...

装修公司谁做网站/百度快照关键词推广

。 这是一个简单的累加程序&#xff0c;您可以使用以下代码实现&#xff1a; sum 0 for i in range(1, 10001):sum i print(sum)这个程序将从1加到10000&#xff0c;并输出累加的总和。...

30岁学编程还能找到工作吗/关键词优化快速

1,CDC::SelectObject出错&#xff1a; 昨天写了一个画图程序&#xff0c;发现执行到SelectObject(pOldPen)的时候老是出错&#xff0c;找了半天都没发现是什么问题&#xff0c;后来在csdn里讲可能是在SelectObject(&pen)的时候少了个取地址符&#xff0c;再次检查&#xff…...

安装wordpress安装地址/深圳网络推广怎么做

装修如何找设计师 如何鉴别设计师是否优秀 优秀设计师应该具备哪些职能&#xff1f;设计是装修的灵魂&#xff0c;所以如何挑选设计师在装修中尤为重要&#xff0c;新房装修如何选择一名优秀的设计师呢&#xff1f;首先&#xff0c;要看设计师以前的个案和设计作品&#xff0c;…...