根据规则将箱子分类【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";}} }
- 复杂度
- 时间复杂度: O ( 1 ) \mathcal{O}(1) O(1)
- 空间复杂度: O ( 1 ) \mathcal{O}(1) O(1)
- 复杂度
-
实现:数组标记
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];} }
- 复杂度
- 时间复杂度: O ( 1 ) \mathcal{O}(1) O(1)
- 空间复杂度: O ( 1 ) \mathcal{O}(1) O(1)
- 复杂度