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

这篇具有很好参考价值的文章主要介绍了leetcode 2525 根据规则将箱子分类 c++ pyhton java c题解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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文章来源地址https://www.toymoban.com/news/detail-712985.html


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";
    }
}

到了这里,关于leetcode 2525 根据规则将箱子分类 c++ pyhton java c题解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • leetcode - 75. 颜色分类(java)

    难度 - 中等 原题链接 - 颜色分类 给定一个包含红色、白色和蓝色、共 n 个元素的数组 nums ,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。 我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。 必须在不使用库内置的 sort 函数的情况下

    2024年02月13日
    浏览(25)
  • c++推箱子小游戏

    上代码: 由于写游戏时间较长,更新较慢,请大佬们理解一下

    2024年02月09日
    浏览(28)
  • opencv图片根据规则改变颜色

    1. 读入图片 2.通道分离 3.像素值在【100,200】之间,赋值128。大于200赋值255,小于100赋值0。 原图如下。 处理后的图片,缺口变得清晰。  

    2024年02月15日
    浏览(31)
  • Java LeetCode篇-二叉搜索树经典解法(实现:二叉搜索树的最近公共祖先、根据前序遍历建树等)

    🔥博客主页: 【 小扳_-CSDN博客】 ❤感谢大家点赞👍收藏⭐评论✍    文章目录         1.0 判断合法         1.1 使用遍历方式实现验证二叉搜索树         1.2 使用递归方式实现验证二叉搜索树         2.0 求范围和         2.1 使用非递归实现二叉搜索树的范围和

    2024年02月03日
    浏览(37)
  • 根据源码,模拟实现 RabbitMQ - 转发规则实现(6)

    目录 一、转发规则实现 1.1、需求分析 1.2、实现 Router 转发规则 1.2.1、bindingKey 和 routingKey 参数校验 1.2.2、消息匹配规则 1.2.3、主题交换机匹配规则 这里主要实现 routingKey 和 bindingKey 参数的校验,以及 TopicExchange 类型绑定规则的实现. 这里重点来看一下 Topic 交换机的转发规则

    2024年02月12日
    浏览(31)
  • Java课程设计之推箱子

      推箱子游戏是一个比较古老的游戏,深受广大游戏爱好者的欢迎,它在带来乐趣的同时也能培养我们的反应力以及严谨的思维能力。   游戏规则是要求角色将地图中所有放置的箱子推到指定目标位置,只有合理安排移动次序和位置 ,才能顺利完成任务。   项目任务是用

    2024年02月08日
    浏览(26)
  • java版本实现推箱子小游戏

    推方块 游戏简介: 由 ↑,↓,←,→键来控制方向,点击空格键表示重玩当前关卡。 核心代码部分 :就是如何处理人的移动和人和箱子一起时的移动,这里需要对人要走的下一步和人推着箱子一起走的下一步进行判断分析,如果没有被阻挡就可以继续走下一步。(有兴趣

    2024年02月11日
    浏览(36)
  • Avue组件或Element-UI动态修改rules验证规则或根据条件修改rules验证规则

    根据条件修改验证规则:el-form中若A为空,则B可为空,若A有值,则B必填,动态改变B的验证规则 在watch监听事件中,使用auve-form自带的:defaults.sync=\\\"defaults\\\"属性,来操作B的rules验证规则,此写法的效果好于el-form原生,因为设置为必填后会有必填标志* 使用watch监听A值的变化,若

    2024年02月12日
    浏览(37)
  • 【免费题库】华为OD机试 - 根据IP查找城市(Java & JS & Python & C & C++)

    哈喽,本题库完全免费,收费是为了防止被爬,大家订阅专栏后可以私信联系退款。感谢支持 某业务需要根据终端的IP地址获取该终端归属的城市,可以根据公开的IP地址池信息查询归属城市。 地址池格式如下: 城市名=起始IP,结束IP 起始和结束地址按照英文逗号分隔,多个

    2024年04月09日
    浏览(52)
  • c# opencv 根据颜色得到不规则区域中的point

    其中,用到了opencv的函数: 1.  Cv2.CvtColor    颜色转换函数,将RGB颜色向HSV,HSI等颜色空间转换。本段代码是转成HSV 2.  Cv2.InRange    用于选出指定颜色范围的区域。如果满足指定的范围,则这个像素点的值被置为255(白色),否则值被置为0(黑色)。本段代码的颜色区间是

    2024年02月12日
    浏览(27)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包