【每日一题Day353】LC2525根据规则将箱子分类 | 模拟

简介: 【每日一题Day353】LC2525根据规则将箱子分类 | 模拟

根据规则将箱子分类【LC2525】

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

  • 如果满足以下条件,那么箱子是
"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) {
        boolean isBulky = false, isHeavy = false;
        long v = 1L * length * width * height;
        if (length >= 10000 || width >= 10000 || height >= 10000 || v >= 1e9){
            isBulky = true;
        }
        if (mass >= 100){
            isHeavy = true;
        }
        if (isBulky && isHeavy){
            return "Both";
        }else if (isBulky){
            return "Bulky";
        }else if (isHeavy){
            return "Heavy";
        }else{
            return "Neither";
        }
    }
}

image.png

实现:数组标记

class Solution {
    public String categorizeBox(int length, int width, int height, int mass) {
        int ans = 0;
        long v = 1L * length * width * height;
        if (length >= 10000 || width >= 10000 || height >= 10000 || v >= 1e9){
            ans |= 1;
        }
        if (mass >= 100){
            ans |= 2;
        }
        String[] ss = {"Neither", "Bulky", "Heavy", "Both"};
        return ss[ans];
    }
}

image.png

目录
相关文章
|
6月前
【每日一题Day168】LC2427公因子的数目 | 模拟
【每日一题Day168】LC2427公因子的数目 | 模拟
38 1
|
6月前
【每日一题Day345】LC2562找出数组的串联值 | 模拟
【每日一题Day345】LC2562找出数组的串联值 | 模拟
41 0
|
6月前
|
机器人
【每日一题Day270】LC874模拟行走机器人 | 哈希表+模拟
【每日一题Day270】LC874模拟行走机器人 | 哈希表+模拟
47 0
|
6月前
|
C#
【每日一题Day251】LC2490回环句 | 模拟
【每日一题Day251】LC2490回环句 | 模拟
33 0
|
6月前
【每日一题Day133】LC2373矩阵中的局部最大值 | 模拟
【每日一题Day133】LC2373矩阵中的局部最大值 | 模拟
49 0
|
6月前
|
存储
【每日一题Day219】LC1093大样本统计 | 模拟
【每日一题Day219】LC1093大样本统计 | 模拟
49 0
|
6月前
【每日一题Day311】LC1761一个图中连通三元组的最小度数 | 枚举
【每日一题Day311】LC1761一个图中连通三元组的最小度数 | 枚举
48 0
|
6月前
【每日一题Day250】LC1253重构 2 行二进制矩阵 | 贪心模拟
【每日一题Day250】LC1253重构 2 行二进制矩阵 | 贪心模拟
47 0
|
6月前
【每日一题Day153】LC2469温度转换 | 模拟
【每日一题Day153】LC2469温度转换 | 模拟
42 0
【每日一题Day62】LC1760袋子里最少数目的球 | 二分查找
首先,将题意转化为,当操作次数一定时,求出单个袋子里球的数目的最大值的最小值y yy,那么可以通过二分查找的方法找到最终的y yy,二分查找的下限为1,上限为数组nums中的最大值
114 0
【每日一题Day62】LC1760袋子里最少数目的球 | 二分查找