三维形体的表面积
三维形体的表面积
在 N * N 的网格上,我们放置一些 1 * 1 * 1 的立方体。
每个值 v = grid[i][j] 表示 v 个正方体叠放在对应单元格 (i, j) 上。
请你返回最终形体的表面积。
例子:
输入:[[2,1],[1,0]]输出:18
解题思路:
刚碰到这道题时,并没有特别思路,经过作图和一些启发,我们可以用累加重叠,算出单独的表面积,求和,在减去覆盖的面积。但是太过繁琐。直到一幅水从上到下,从左到右流过表面的图像出现在脑海,有了新的启发。
我们可以用2n个机器人,分别两队,从左到右(每行一个),从上到下(每列一个)走过每个网格顶部,加上所有相邻顶部的落差,这便是所有的侧表面积,同时判断此网格不为0,不为0便多加2,这是顶底表面积。这样便没有所谓的重叠面积要减。
算法步骤:
- 每行每列记录相邻网格落差,记录侧面积。
- 同时判断该网格是否非0,记录顶底面积。
- 每次计算到行或列最后一个元素后,加上高度,因为没有下一个网格,这是他的外围侧面积。
数据分析:
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 的网格上,我们放置一些 1 * 1 * 1 的立方体。 每个值 v grid[i][j] 表示 v 个正方体叠放在对应单元格 (i, j) 上。 请你返回最终形体的表面积。 例子: 输入:[[2,1],[1,0]]输出:18 解题思路࿱…...
二维码数据压缩实践 | 使用python对二维码数据进行压缩 |不乱码,支持中文
当前二维码的应用越来越广泛,包括疫情时期的健康码也是应用二维码的典型案例,最近需要通过一张二维码显示较多文本数据,也就是对二维码数据进行压缩,使用CSDN搜索了半天居然没有能简单使用的代码,很多事例代码解决不了…...
C语言学习_DAY_3_基本数据类型_运算符与表达式【C语言学习笔记】
目录 I. 基本数据类型 II. 复杂的输出和输入语句编写 III. 运算符与表达式 III.I 算术运算符 III.II 关系运算符 III.III 逻辑运算符 III.IV 位运算符 III.V 三目运算符 III.VI 逗号运算符 高质量博主,点个关注不迷路🌸🌸dz…...
c++练习题(4)
题号:1 设int a3,b2;则a*b的结果是() A、2 B、7 C、3 D、8 题号:2 一个程序单位中不包括以下哪项() A、伪代码 B、函数 C、预处理指令 D、全局声明 题号:3 若a-14,…...
腾讯云 cos 字体在CDN上跨域处理
问题描述:项目中用到了字体的静态资源,把静态资源放到了腾讯云对象存储提供的 COS 上,同时启用它的CDN来加速。但是,调试的过程中发现报错:CSS加载字体跨域了,字体图标无法正常显示。 原因:字体…...
api是什么意思?又该如何使用呢?
一、应用程序编程接口 API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件的以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。 API全称 "…...
JavaScript------面向对象
目录 一、面向对象编程(OOP) 基本概念 二、类 1、语法 2、通过类创建对象 3、类的属性 4、类的方法 5、构造函数 三、面向对象的三个特点 1、封装 如何确保数据的安全(实现封装的方式): 2、继承 在子类中&a…...
charles+夜神模拟器抓包
1.资料地址: 链接:https://pan.baidu.com/s/1w9qYfFPJcduN4If50ICccw 提取码: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代码(继承I2C底层代码) PCF8591 PCB上线的长短可能影响数据传输的时间,写I2C时序可能就要加一点延时 I2C时序结构 起始条件:SCL高电平期间,SDA从高电平切换到低电平终止条件&…...
Hadoop
Hadoop Hadoop1.x 2.x 3.x区别 Hadoop1.x组成:MapReduce负责计算和资源调度,HDFS负责数据存储,Common辅助工具。 Hadoop2.x组成:MapReduce负责计算,Yarn负责资源调度,HDFS负责数据存储,Commo…...
ArrayList源码+扩容机制分析
1. ArrayList 简介 ArrayList 的底层是数组队列,相当于动态数组。与 Java 中的数组相比,它的容量能动态增长。在添加大量元素前,应用程序可以使用ensureCapacity操作来增加 ArrayList 实例的容量。这可以减少递增式再分配的数量。 ArrayLis…...
数据库(第四次作业)
学生表:Student (Sno, Sname, Ssex , Sage, Sdept) 学号,姓名,性别,年龄,所在系 Sno为主键 课程表:Course (Cno, Cname,) 课程号,课程名 Cno为主键 学生选课表:SC (Sno, Cno, Score)…...
传统档案管理,为什么影响企业上市进度?
企业上市,对于很多创业者来说,是他们奋发努力的首要目标。企业通过上市,进行股权融资,扩大经营规模,加速促进公司成长,最终达到企业的可持续发展。而要实现成功上市,企业除了需要满足股份公司上…...
9个EXCEL舍入函数公式的用法和实例
用法和实例 1. ROUND ROUND函数可以将数字四舍五入到指定的小数位数。 语法:ROUND(number, num_digits) number:要四舍五入的数字。 num_digits:要保留的小数位数。 举例: ROUND(3.14159,2),结果为3.14 ROUND(3.141…...
设计模式:代理模式给原始类附加功能
一、代理模式 1、定义 在不改变原始类(被代理类)的情况下,通过引入代理类来给原始类附加功能。 一般情况下,让代理类和原始类实现同样的接口。 但是,如果原始类并没有定义接口,并且原始类代码并不是我们…...
JavaScript刷LeetCode拿offer-链表篇
一、链表 链表(Linked List)是一种常见的基础数据结构,也是线性表的一种。 一个线性表是 n 个具有相同特性的数据元素的有限序列,线性表的存储结构分为两类:顺序表(数组)和链表。 链表相比较顺…...
CPP2022-28-期末模拟测试01
6-1 实现一个计算三角形面积的简单函数(假设输入的边长合理)。 分数 10 全屏浏览题目 切换布局 作者 王和兴 单位 东北大学秦皇岛分校 实现一个计算三角形面积的简单函数(假设输入的边长合理)。 函数接口定义: do…...
牛客网Python篇数据分析习题(五)
1.现有牛客网12月每天练习题目的数据集nowcoder.csv。包含如下字段(字段之间用逗号分隔): user_id:用户id question_id:问题编号 result:运行结果 date:练习日期 请你统计答对和答错的总数分别是多少。 imp…...
华为OD机试真题JAVA实现【人数最多的站点】真题+解题思路+代码(20222023)
🔥系列专栏 华为OD机试(JAVA)真题目录汇总华为OD机试(Python)真题目录汇总华为OD机试(C++)真题目录汇总华为OD机试(JavaScript)真题目录汇总文章目录 🔥系列专栏题目输入输出示例一输入输出说明解题思路核心知识点Code运行结果版权说...
ROS2机器人编程简述humble-第四章-IMPROVED DETECTOR .4
ROS2之TF2小练习-颜色随机器人和障碍物直接距离变化ROS2之TF2小练习-有哪些bug找找看里面给出了:ROS2机器人编程简述humble-第四章-BASIC DETECTOR .3需要改进哪些地方呢?检测之后,距离不变了……如何变化?这个问题可以问chatgpt吗…...
为Hermes Agent配置自定义大模型提供方Taotoken的步骤
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 为Hermes Agent配置自定义大模型提供方Taotoken的步骤 Hermes Agent是一个流行的AI智能体开发框架,它允许开发者灵活地…...
对比直接使用厂商API,Taotoken在路由容灾方面的体验差异
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 对比直接使用厂商API,Taotoken在路由容灾方面的体验差异 1. 单一服务依赖的潜在挑战 在直接使用单一模型厂商的API进行…...
如何用嘎嘎降AI处理农学论文:实验数据图表密集的农学毕业论文降AI完整操作教程
如何用嘎嘎降AI处理农学论文:实验数据图表密集的农学毕业论文降AI完整操作教程 关于农学论文降AI教程,有几个细节提前知道,能少走很多弯路。 核心用嘎嘎降AI(www.aigcleaner.com),4.8元,达标率…...
别再乱试了!易语言大漠插件BindWindow后台绑定,这几种模式组合才是真稳定(附Win10/11避坑指南)
易语言大漠插件后台绑定实战:Win10/11高效稳定组合方案全解析 后台绑定技术一直是自动化开发中的核心痛点,尤其是面对复杂的Windows窗口体系时。大漠插件的BindWindow函数提供了丰富的参数组合,但这也让许多开发者陷入选择困难——为什么同样…...
FortiWeb VM 6.3.4初体验:除了当防火墙,还能怎么玩?
FortiWeb VM 6.3.4进阶玩法:解锁WAF的隐藏技能树 当大多数人还在把Web应用防火墙(WAF)当作简单的流量过滤工具时,你已经可以把它变成安全实验室的瑞士军刀。FortiWeb VM 6.3.4这个220MB的虚拟机镜像里,藏着比基础防护更有趣的可能性——从自动…...
从有刷到无刷:四大电机(交流、直流、PMSM、步进)的核心原理与选型控制指南
1. 电机进化史:从碳刷火花到无声时代 小时候拆过四驱车马达的朋友一定记得,那个会转动的金属小圆柱体上有个铜片结构,转动时还会冒出细小的火花——这就是最经典的有刷直流电机。这种诞生于19世纪中期的古老设计,至今仍能在电动玩…...
Unity实战:用Mesh和Color.Lerp手搓一个可交互的3D热力图(附完整C#源码)
Unity实战:从零构建可交互3D热力图的底层逻辑与工程化实现 在数据可视化领域,热力图一直是最直观的呈现方式之一。当我们需要在3D场景中展示地形温度分布、玩家活动热区或资源聚集程度时,传统的2D热力图往往难以满足空间感知需求。本文将带您…...
易语言多线程下如何安全调用大漠插件?免注册方案与资源管理避坑指南
易语言多线程环境下安全调用大漠插件的工程实践 在自动化工具开发领域,大漠插件因其强大的图像识别和模拟操作能力而广受欢迎。但当我们将这一利器应用于易语言多线程环境时,往往会遇到DLL加载冲突、对象生命周期管理混乱以及线程安全性等棘手问题。本文…...
从标定到测距:SGBM算法在双目视觉中的实战解析
1. 双目视觉测距的基本原理 第一次接触双目视觉时,我也被那些复杂的数学公式吓到过。但后来发现,它的核心原理其实和我们人眼的立体视觉很像。想象一下,当你闭上一只眼睛时,很难准确判断远处物体的距离;但睁开双眼后&a…...
Cursor云智能体HTTP客户端库:专为Serverless优化的axios封装方案
1. 项目概述:一个专为Cursor云智能体设计的HTTP客户端库最近在折腾Cursor的云智能体(Cloud Agents)时,发现一个挺普遍的需求:如何让智能体稳定、高效地与外部API进行通信?无论是调用OpenAI的接口、查询天气…...
