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

news2024/11/20 4:21:32

文章目录

  • 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 ** 9
        y = mass >= 100
        if x and y: return "Both"
        if x: return "Bulky"
        if y: return "Heavy"
        return "Neither"

写在最后

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

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

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

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

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

相关文章

Pyqt组合控件与QSpacerItem指南

Pyqt组合控件与QSpacerItem指南) 组合控件效果如下所示: QSpacerItem详解 组合控件 创建一个组合的控件,比如 QCheckBox 和 QLabel,并为这个组合设置背景颜色,可以将它们放在一个容器小部件中,然后为容器小…

Leetcode——数组的旋转

189. 轮转数组 class Solution { public:void rotate(vector<int>& nums, int k) {int lennums.size();vector<int> num(len);for(int i0;i<len;i){num[(ik)%len]nums[i];}nums.assign(num.begin(),num.end());} };旋转数组 没看出数学公式gg 正确答案 cl…

经典文献阅读之--Calib Anything(使用SAM的无训练标定雷达相机外参)

0. 简介 Camera与LiDAR之间的外部标定研究正朝着更精确、更自动、更通用的方向发展&#xff0c;由于很多方法在标定中采用了深度学习&#xff0c;因此大大减少了对场景的限制。然而&#xff0c;数据驱动方法具有传输能力低的缺点。除非进行额外的训练&#xff0c;否则它无法适…

安卓Ampere Pro(充电评测)v4.09解锁专业版,供大家学习研究参考!

软件功能 支持查看充电的状态&#xff0c;充电速度是否正常&#xff0c;都可以轻松测试。 强大的测试功能&#xff0c;让你全面了解充电的状态。 温度过高提醒&#xff0c;保证手机的温度不过高&#xff0c;及时拔掉电源。 设置通知优先级&#xff0c;最高、较高、默认、较…

Zookeeper集群 + Kafka集群的详细介绍与部署

文章目录 1. Zookeeper 概述1.1 简介1.2 Zookeeper的工作机制1.3 Zookeeper 主要特点1.4 Zookeeper 数据结构1.5 Zookeeper的相关应用场景1.5.1 统一命名服务1.5.2 统一配置管理1.5.3 统一集群管理1.5.4 服务器动态上下线1.5.5 软负载均衡 1.6 Zookeeper 选举机制1.6.1 第一次启…

SI基础知识:说一说玻纤布规格(如1078)的具体含义,以及等效Dk计算

玻纤布的编织包含经向和纬向两个不同的方向&#xff0c;这些玻璃布并没有被紧密放置在一起&#xff0c;在玻纤布上会有开窗&#xff0c;而且经向开窗和纬向开窗大小不同。 IPC定义了每种玻纤布的编织密度以及所用玻璃丝的规格&#xff0c;如下图所示。 看上面的表格&#xff0c…

Fast DDS之Subscriber

目录 SubscriberSubscriberQosSubscriberListener创建Subscriber DataReaderSampleInfo读取数据 Subscriber扮演容器的角色&#xff0c;里面可以有很多DataReaders&#xff0c;它们使用Subscriber的同一份SubscriberQos配置。Subscriber可以承载不同Topic和数据类型的DataReade…

【算法学习】归并算法Merge Sort总结

归并排序思路简单&#xff0c;速度仅次于快速排序&#xff0c;为稳定排序算法&#xff0c;一般用于对总体无序&#xff0c;但是各子项相对有序的数列。 1. 基本思想 归并排序使用分治思想&#xff0c;分治模式下每一层递归有三个步骤&#xff1a; 分解&#xff08;divide)&a…

1813_ChibiOS的RT系统层

全部学习汇总&#xff1a; GreyZhang/g_ChibiOS: I found a new RTOS called ChibiOS and it seems interesting! (github.com) 在ChibiOS中有一个RT系统层的部分&#xff0c;也就是内核的系统层。这个在其他的OS中是没有看到的&#xff0c;这里针对这一部分做一个简单的认识。…

送水订水商城小程序的作用是什么

无论瓶装水还是桶装水在市场中的需求度总是很高&#xff0c;相关送水公司或零售水企业也不少&#xff0c;消费者的购物方式一般是品牌直售或通过经销商&#xff0c;零售水则是超市/商场等场景。随着人们健康品质生活提升&#xff0c;家庭或办公等场所对桶装水或瓶装水的需求日益…

启山智软商城源码新官网震撼上线

欢迎来到我们全新升级的启山智软官网&#xff01; 启山智软一直致力于提供最优质的产品和服务&#xff0c;不断为客户创造更多价值。为了更好地展示我们的品牌形象和产品特色&#xff0c;我们进行了全新的网站升级。新官网拥有更加美观、简洁、直观的界面设计&#xff0c;更加智…

洗地机哪个品牌最好最实用?口碑最好的洗地机

当代人的家庭清洁方式&#xff0c;都悄摸摸的用上了智能扫地机或者洗地机&#xff0c;但是扫地机机器人对于一些顽固污渍的清洁能力略差&#xff0c;人不在家里的时候总担心会碰到啥东西卡机&#xff0c;所以&#xff0c;洗地机更适合对于清洁有高要求的人群&#xff0c;毕竟自…

开发过程中的八种确认方法

确认是确保做了正确的事情&#xff0c;方向不偏。确认可以在项目前期做&#xff0c;也可以在项目后期做&#xff0c;提倡持续确认、质量左移。在前期主要是检测需求的质量&#xff0c;在后期是检测完成的系统是否真的是客户所需。开发过程中常见的八种确认手段有&#xff1a; 1…

【APUE】进程

目录 一、进程标识符 pid 1.1 类型 pid_t 1.2 命令 ps 1.3 getpid && getppid 二、进程的产生 2.1 fork 简介 2.2 fork 实例 1 2.3 fork 实例 2 2.4 vfork 三、进程的消亡及释放资源 3.1 wait 3.2 waitpid 3.3 应用&#xff1a;进程分配初探 四、exec…

基于SSM的疫情期间高校师生外出请假管理系统设计与实现

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;Vue 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#xff1a;是 目录…

十八、字符串(1)

本章概要 字符串的不可变 的重载与 StringBuilder 意外递归字符串操作 字符串操作毫无疑问是计算机程序设计中最常见的行为之一。 在 Java 大展拳脚的 Web 系统中更是如此。在本章中&#xff0c;我们将深入学习在 Java 语言中应用最广泛的 String 类&#xff0c;并研究与之相关…

功率放大器在材料测试中的应用有哪些

功率放大器在材料测试中有广泛的应用&#xff0c;尤其在材料的物理、电子和热学性质等方面的研究中起到了重要的作用。下面Aigtek安泰将详细介绍功率放大器在材料测试中的一些主要应用。 电学特性测试&#xff1a;功率放大器用于材料的电学特性测试&#xff0c;如电导率、介电常…

划词搜索IP插件

插件背景 浏览器插件可以让用户根据个人工作及日常需求来定制浏览器的功能和界面。当用户在网页上看到一些IP地址时&#xff0c;或许会好奇它们的来源和归属。传统的做法是&#xff0c;用户需要复制这个IP地址&#xff0c;然后跳转到埃文科技旗下的http://IPUU.net网站进行查询…

分类预测 | MATLAB实现基于BiLSTM-AdaBoost双向长短期记忆网络结合AdaBoost多输入分类预测

分类预测 | MATLAB实现基于BiLSTM-AdaBoost双向长短期记忆网络结合AdaBoost多输入分类预测 目录 分类预测 | MATLAB实现基于BiLSTM-AdaBoost双向长短期记忆网络结合AdaBoost多输入分类预测预测效果基本介绍模型描述程序设计参考资料 预测效果 基本介绍 1.MATLAB实现基于BiLSTM-…

MMoE: 基于多门专家混合的多任务学习任务关系建模

文章链接&#xff1a;Modeling Task Relationships in Multi-task Learning with Multi-gate Mixture-of-Experts 发表会议: KKD 2018 &#xff08;Knowledge Discovery and Data Mining&#xff0c;数据挖掘领域顶会&#xff09; 目录 1.背景介绍Recommendation SystemMulti-…