根据规则将箱子分类【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]; } }