2023-10-20 LeetCode每日一题(根据规则将箱子分类)

2023-10-20每日一题

一、题目编号

2525. 根据规则将箱子分类

二、题目链接

点击跳转到题目位置

三、题目描述

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

  • 如果满足以下条件,那么箱子是 “Bulky” 的:

    • 箱子 至少有一个 维度大于等于 104 。
    • 或者箱子的 体积 大于等于 109 。
  • 如果箱子的质量大于等于 100 ,那么箱子是 “Heavy” 的。

  • 如果箱子同时是 “Bulky” 和 “Heavy” ,那么返回类别为 “Both” 。

  • 如果箱子既不是 “Bulky” ,也不是 “Heavy” ,那么返回类别为 “Neither” 。

  • 如果箱子是 “Bulky” 但不是 “Heavy” ,那么返回类别为 “Bulky” 。

  • 如果箱子是 “Heavy” 但不是 “Bulky” ,那么返回类别为 “Heavy” 。

注意,箱子的体积等于箱子的长度、宽度和高度的乘积。

四、解题代码

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


五、解题思路

(1) 模拟题,按照题目要求分类即可。

你可能感兴趣的:(LeetCode每日一题,leetcode,算法,数据结构)