返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >leetcode 2525 根据规则将箱子分类 c++ pyhton java c题解
  • 561
分享到

leetcode 2525 根据规则将箱子分类 c++ pyhton java c题解

leetcodec++java 2023-10-24 15:10:37 561人浏览 八月长安
摘要

LeetCode 2525 根据规则将箱子分类 题目 给你四个整数 length ,width ,height 和 mass ,分别表示一个箱子的三个维度和质量,请你返回一个表示箱子 类别 的字符串。

LeetCode 2525 根据规则将箱子分类

题目

给你四个整数 length ,width ,height 和 mass ,分别表示一个箱子的三个维度和质量,请你返回一个表示箱子 类别 的字符串

如果满足以下条件,那么箱子是 “Bulky” 的:
箱子 至少有一个 维度大于等于 104 。
或者箱子的 体积 大于等于 109 。
如果箱子的质量大于等于 100 ,那么箱子是 “Heavy” 的。
如果箱子同时是 “Bulky” 和 “Heavy” ,那么返回类别为 “Both” 。
如果箱子既不是 “Bulky” ,也不是 “Heavy” ,那么返回类别为 “Neither” 。
如果箱子是 “Bulky” 但不是 “Heavy” ,那么返回类别为 “Bulky” 。
如果箱子是 “Heavy” 但不是 “Bulky” ,那么返回类别为 “Heavy” 。
注意,箱子的体积等于箱子的长度、宽度和高度的乘积。

示例 1:

输入:length = 1000, width = 35, height = 700, mass = 300
输出:“Heavy”
解释:
箱子没有任何维度大于等于 104 。
体积为 24500000 <= 109 。所以不能归类为 “Bulky” 。
但是质量 >= 100 ,所以箱子是 “Heavy” 的。
由于箱子不是 “Bulky” 但是是 “Heavy” ,所以我们返回 “Heavy” 。
示例 2:

输入:length = 200, width = 50, height = 800, mass = 50
输出:“Neither”
解释:
箱子没有任何维度大于等于 104 。
体积为 8 * 106 <= 109 。所以不能归类为 “Bulky” 。
质量小于 100 ,所以不能归类为 “Heavy” 。
由于不属于上述两者任何一类,所以我们返回 “Neither” 。

提示:

1 <= length, width, height <= 105
1 <= mass <= 103
通过次数
20.5K
提交次数
42.1K
通过率
48.8%

解题思路

首先,我们要明确每个条件的含义。

  1. 长度、宽度、高度大于等于104:这个条件意味着至少有一个维度(长度、宽度或高度)的尺寸大于或等于104。这通常被看作是"大件"的一个特征,因为如果一个物品的某个维度特别大,它可能不容易搬运或存储。
  2. 体积大于等于109:这个条件是看箱子的总体积,也就是长度、宽度和高度三个维度的乘积是否大于或等于109。如果体积大,那么无论哪个方向上看起来都不小,因此也属于"大件"的范畴。
  3. 质量大于等于100:这个条件表示箱子的质量大于或等于100。这通常代表这个箱子比较重。

然后,我们根据这些条件来决定箱子的类型:

  1. “Both”(又大又重):如果一个箱子同时满足"大"和"重"两个条件,那么它就属于"Both"这个类别。
  2. “Bulky”(大件):如果一个箱子只满足"大"的条件,但并不满足"重"的条件,那么它就属于"Bulky"这个类别。
  3. “Heavy”(重件):如果一个箱子只满足"重"的条件,但并不满足"大"的条件,那么它就属于"Heavy"这个类别。
  4. “Neither”(都不是):如果一个箱子既不满足"大"的条件,也不满足"重"的条件,那么它就属于"Neither"这个类别。

代码

c++

class Solution {public:    string categorizeBox(int length, int width, int height, int mass) {        long long maxd = max(length, max(width, height)), vol = 1L * length * width * height;        bool isBulky = maxd >= 10000 || vol >= 1000000000, isHeavy = mass >= 100;        if (isBulky && isHeavy) {             return "Both";        } else if (isBulky) {            return "Bulky";        } else if (isHeavy) {            return "Heavy";        } else {            return "Neither";        }    }};

java

class Solution {    public String cateGorizeBox(int length, int width, int height, int mass) {        long maxd = Math.max(length, Math.max(width, height)), vol = 1L * length * width * height;        boolean isBulky = maxd >= 10000 || vol >= 1000000000, isHeavy = mass >= 100;        if (isBulky && isHeavy) {             return "Both";        } else if (isBulky) {            return "Bulky";        } else if (isHeavy) {            return "Heavy";        } else {            return "Neither";        }    }}

python

class Solution:    def categorizeBox(self, length, width, height, mass):        maxd = max(length, width, height)        vol = length * width * height        isBulky = maxd >= 10000 or vol >= 10**9        isHeavy = mass >= 100        if isBulky and isHeavy:            return 'Both'        if isBulky:            return 'Bulky'        if isHeavy:            return 'Heavy'        return 'Neither'

c

char * categorizeBox(int length, int width, int height, int mass){    int maxd = fmax(length, fmax(width, height));    long long vol = 1LL * length * width * height;    bool isBulky = maxd >= 10000 || vol >= 1000000000, isHeavy = mass >= 100;    if (isBulky && isHeavy) {        return "Both";    } else if (isBulky) {        return "Bulky";    } else if (isHeavy) {        return "Heavy";    } else {        return "Neither";    }}

来源地址:https://blog.csdn.net/shaozheng0503/article/details/133950604

--结束END--

本文标题: leetcode 2525 根据规则将箱子分类 c++ pyhton java c题解

本文链接: https://lsjlt.com/news/441578.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作