【每日一题】根据规则将箱子分类

文章目录

  • Tag
  • 题目来源
  • 题目解读
  • 解题思路
    • 方法一:分类讨论
  • 其他语言
    • c
    • python3
  • 写在最后

Tag

【分类讨论】【2023-10-20】


题目来源

2525. 根据规则将箱子分类


题目解读

题目意思明确,根据条件判断箱子的类别。


解题思路

方法一:分类讨论

根据题目的意思模拟,首先维护两个 bool 变量 isBulkyisHeavy来记录箱子的 BulkyHeavy 状况,初始都为 false

根据箱子的任一维度大于等于 1e4 与否或者箱子的体积大于等于 1e9 与否更新 isBulky。需要注意点是体积可能会越界(超出int整型可以表示的最大范围),因此先将体积强转成 long long 类型,再以 1e9 进行比较。

根据箱子的质量是否大于等于 100 更新 isHeavy

接下来就是条件语句的书写了,这里没有使用 if...else .. 语句,而是直接使用的 if,这样可以省去一些判断上的失误。但是并不是所有的 if...else .. 语句都可以改成 if 语句,至少本题是可以修改的。

实现代码

class Solution {
public:string categorizeBox(int length, int width, int height, int mass) {bool isBulky = false;bool isHeavy = false;if (length >= 1e4 || width >= 1e4 || height >= 1e4 || (long long) length * width * height >= 1e9) {isBulky = true;}if (mass >= 100) isHeavy = true;if (isBulky && isHeavy) return "Both";if (!isBulky && !isHeavy) return "Neither";if (isBulky && !isHeavy) return "Bulky";return "Heavy";}
};

复杂度分析

时间复杂度: O ( 1 ) O(1) O(1)

空间复杂度: O ( 1 ) O(1) O(1)


其他语言

c

char * categorizeBox(int length, int width, int height, int mass){int x = (length >= 10000 || width >= 10000 || height >= 10000 || (long long)length * height * width >= 1000000000);int y = (mass >= 100);if (x && y) return "Both";if (x) return "Bulky";if (y) return "Heavy";return "Neither";
}

python3

class Solution:def categorizeBox(self, length: int, width: int, height: int, mass: int) -> str:x = length >= 10000 or width >= 10000 or height >= 10000 or length * width * height >= 10 ** 9y = mass >= 100if x and y: return "Both"if x: return "Bulky"if y: return "Heavy"return "Neither"

写在最后

如果文章内容有任何错误或者您对文章有任何疑问,欢迎私信博主或者在评论区指出 💬💬💬。

如果大家有更优的时间、空间复杂度方法,欢迎评论区交流。

最后,感谢您的阅读,如果感到有所收获的话可以给博主点一个 👍 哦。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/111396.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【小白专用】安装Apache2.4+ 安装PHP8.2+ php与sql server 2008 r2连接测试教程

PHP安装 1、PHP下载 PHP For Windows: Binaries and sources Releases 注意: 1.要下载Thread Safe,否则没有php7apache2_4.dll这个文件 2.如果是64位系统要下载x64的,x86的不行 3.下载Zip 2、PHP解压安装 将Zip进行解压,里…

JavaScript ES6类的定义与继承

文章目录 一、class方式定义类1.认识class定义类2.类和构造函数的异同3.类的构造函数4.类的实例方法5.类的访问器方法6.类的静态方法 二、继承1.extends实现继承2.super关键字3.继承内置类4.类的混入mixin 三、ES6转ES51.class转换2.extends转换 四、多态 一、class方式定义类 …

docker全家桶(基本命令、dockerhub、docker-compose)

概念 应用场景: Web 应用的自动化打包和发布。自动化测试和持续集成、发布。在服务型环境中部署和调整数据库或其他的后台应用。从头编译或者扩展现有的 OpenShift 或 Cloud Foundry 平台来搭建自己的 PaaS 环境。 作用:Docker 使您能够将应用程序与基…

2023年信息院学生科协第二次硬件培训

2023年信息院学生科协第二次硬件培训 前言一、51单片机简介1、什么是单片机2、主流单片机及其编程语言3、单片机的应用4、单片机开发软件 二、GPIO(点亮LED)1、GPIO简介2、LED简介3、硬件设计4、软件设计 三、GPIO(独立按键)1、按…

2023.10(u盘刻录iso)主机,vmware,virtualbox安装linux/ubuntu/kali/centos stream9/arch

download 1 kali官网 2 ubuntu官网 3vmware workstation pro(最新版17pro) 4 virtualbox for linux sudo apt install virtualbox-ext-pack 5 win32 disk imger linux dd 刻录iso到u盘 #查看U盘路径 fdisk -l #图形界面 以kali为例会在桌面出现挂载图标 点开之后输入pwd寻…

CVPR 2018 基于累积注意力的视觉定位 Visual Grounding via Accumulated Attention 详解

Abstract: VG面临的主要挑战有3个:1 )查询的主要焦点是什么;2 )如何理解图像;3 )如何定位物体。 在本文中,我们将这些挑战形式化为三个注意力问题,并提出了一个累积注意力( A-ATT )机制来共同推理其中的挑战…

python一点通:coroutine (协程)是什么和重要知识点?

协程已经成为Python用于编写并发和异步代码的重要工具之一。在这篇博客文章中,我们将深入探讨协程是什么,它们的优点,以及它们与传统的线程和进程有何不同。 什么是协程? 协程是用于合作式多任务处理的子程序(或函数…

【微信小程序】6天精准入门(第3天:小程序flex布局、轮播图组件及mock运用以及综合案例)附源码

一、flex布局 布局的传统解决方案,基于[盒状模型],依赖display属性 position属性 float属性 1、什么是flex布局? Flex是Flexible Box的缩写,意为”弹性布局”,用来为盒状模型提供最大的灵活性。任何一个容器都可以…

智能变电站自动化系统的应用与产品选型

摘要:现如今,智能变电站发展已经成为了电力系统发展过程中的内容,如何提高智能变电站的运行效率也成为电力系统发展的一个重要目标,为了能够更好地促进电力系统安全稳定运行,本文则就智能变电站自动化系统的实现进行了…

如何消除CSDN博文代码中自动添加的行号

哪里有自定义目录标题 编写CSDN博文,使用代码块的linux命令行,预览时没有代码行号,但发布文章后自动添加了行号。 git clone https://github.com/mikel-brostrom/yolo_tracking.git cd yolo_tracking pip install -v -e .为什么预览和发布的…

airflow报ModuleNotFoundError: No module named ‘dags‘原因和解决方法

ModuleNotFoundError: No module named ‘dags’ 原因:airflow默认是从dags目录下开始搜所有模块,如果你加上dags目录名,就相当于在dags目录下找dags包。 解决方法:导入的时候,去掉dags,详细可以参考下面案…

【RealTek sdk-3.4.14b】RTL8197FH sdk 防火墙ip6tables xt-mac异常问题修改

sdk说明 ** Gateway/AP firmware v3.4.14b – Aug 26, 2019**  Wireless LAN driver changes as:  Refine WiFi Stability and Performance  Add 8812F MU-MIMO  Add 97G/8812F multiple mac-clone  Add 97G 2T3R antenna diversity  Fix 97G/8812F/8814B MP issu…

ABS算法开发与测试(基于ModelBase实现)

ModelBase是经纬恒润开发的车辆仿真软件,包含两个大版本:动力学版本、智能驾驶版本。动力学版包含高精度动力学模型,能很好地复现车辆在实际道路中运行的各种状态变化,可用于乘用车、商用车动力底盘系统算法开发、控制器仿真测试&…

【Java 进阶篇】HTML DOM样式控制详解

当我们讨论网页设计时,样式是一个至关重要的方面。它使我们能够改变文本、图像和其他页面元素的外观,从而创造出吸引人的网页。在HTML DOM(文档对象模型)中,我们可以使用JavaScript来操作和控制样式。这篇博客将详细介…

和鲸ModelWhale与中科可控X系列异构加速服务器完成适配认证,搭载海光芯片,构筑AI算力底座

AIGC 时代,算力作为新型生产力,是国家和企业构建竞争优势的关键。而随着传统计算方式无法满足新时代激增的算力需求,计算场景的多元化和计算应用的复杂化推动了 CPUGPU 异构平台的加速组建。在此全球激烈角逐的大趋势下,我国信创产…

11. 机器学习 - 评价指标2

文章目录 混淆矩阵F-scoreAUC-ROC 更多内容: 茶桁的AI秘籍 Hi, 你好。我是茶桁。 上一节课,咱们讲到了评测指标,并且在文章的最后提到了一个矩阵,我们就从这里开始。 混淆矩阵 在我们实际的工作中,会有一个矩阵&am…

使用OPENROWSET :在一个数据库中查询另一个数据库的数据

当你需要在一个数据库中查询另一个数据库的数据时,SQL Server提供了多种方法来实现这一目标。一种常见的方法是使用链接服务器(Linked Server),另一种方法是使用 OPENROWSET 函数。本篇博客将重点介绍如何使用 OPENROWSET 函数在当…

uni-app yrkDataPicker 日期和时间选择控件

uni-app 选择日期时间控件有 2 月份有 31 天的问题&#xff0c;一直没有修复&#xff0c;uni-calendar 苹果有选择年份和月份后无法显示问题。自己写了一个&#xff0c;只支持 H5 和微信小程序&#xff0c;其他没有试过。 <template><view class"yrk-data-picke…

IDEA中明明导入jar包了,依旧报ClassNotFoundException

解决办法&#xff1a; 1.点击IDEA右上角的设置 2.点击Project Structure... 3.点击Artifacts,点击号把包添加下就可以了

苹果ipa文件签过名之后,不用分发可以直接下载安装到苹果手机上吗?安装原理与解决方案。

为什么我的苹果IPA文件不能安装到手机&#xff1f;我来说说&#xff0c;我们时常使用各种各样的应用程序来完成各类任务&#xff0c;获取信息和娱乐。但是&#xff0c;在众多的应用程序背后&#xff0c;有很多我们可能从未涉及的知识领域。其中&#xff0c;对于苹果设备上的ipa…