根据规则将箱子分类【LC2525】
给你四个整数
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) { 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"; } } }
实现:数组标记
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]; } }

