首页 > 编程语言 >【算法题】2525. 根据规则将箱子分类

【算法题】2525. 根据规则将箱子分类

时间:2023-10-26 10:05:34浏览次数:35  
标签:2525 箱子 width length height Bulky 算法 Heavy


题目:

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

如果满足以下条件,那么箱子是 “Bulky” 的:
箱子 至少有一个 维度大于等于 104 。
或者箱子的 体积 大于等于 109 。
如果箱子的质量大于等于 100 ,那么箱子是 “Heavy” 的。
如果箱子同时是 “Bulky” 和 “Heavy” ,那么返回类别为 “Both” 。
如果箱子既不是 “Bulky” ,也不是 “Heavy” ,那么返回类别为 “Neither” 。
如果箱子是 “Bulky” 但不是 “Heavy” ,那么返回类别为 “Bulky” 。
如果箱子是 “Heavy” 但不是 “Bulky” ,那么返回类别为 “Heavy” 。
注意,箱子的体积等于箱子的长度、宽度和高度的乘积。

示例 1:

输入:length = 1000, width = 35, height = 700, mass = 300
输出:“Heavy”
解释:
箱子没有任何维度大于等于 104 。
体积为 24500000 <= 109 。所以不能归类为 “Bulky” 。
但是质量 >= 100 ,所以箱子是 “Heavy” 的。
由于箱子不是 “Bulky” 但是是 “Heavy” ,所以我们返回 “Heavy” 。
示例 2:

输入:length = 200, width = 50, height = 800, mass = 50
输出:“Neither”
解释:
箱子没有任何维度大于等于 104 。
体积为 8 * 106 <= 109 。所以不能归类为 “Bulky” 。
质量小于 100 ,所以不能归类为 “Heavy” 。
由于不属于上述两者任何一类,所以我们返回 “Neither” 。

提示:

1 <= length, width, height <= 10^5
1 <= mass <= 10^3

java代码:

class Solution {
    public String categorizeBox(int length, int width, int height, int mass) {
        long maxd = Math.max(length, Math.max(width, height)), vol = 1L * length * width * height;
        boolean 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";
        }
    }
}


标签:2525,箱子,width,length,height,Bulky,算法,Heavy
From: https://blog.51cto.com/u_6813689/8030068

相关文章

  • 【算法题】2906. 构造乘积矩阵
    题目:给你一个下标从0开始、大小为n*m的二维整数矩阵grid,定义一个下标从0开始、大小为n*m的的二维矩阵p。如果满足以下条件,则称p为grid的乘积矩阵:对于每个元素p[i][j],它的值等于除了grid[i][j]外所有元素的乘积。乘积对12345取余数。返回grid的乘积矩......
  • 【算法题】2905. 找出满足差值条件的下标 II
    题目:给你一个下标从0开始、长度为n的整数数组nums,以及整数indexDifference和整数valueDifference。你的任务是从范围[0,n-1]内找出2个满足下述所有条件的下标i和j:abs(i-j)>=indexDifference且abs(nums[i]-nums[j])>=valueDifference返回整数数组a......
  • 【算法题】2530.执行 K 次操作后的最大分数
    题目:给你一个下标从0开始的整数数组nums和一个整数k。你的起始分数为0。在一步操作中:选出一个满足0<=i<nums.length的下标i,将你的分数增加nums[i],并且将nums[i]替换为ceil(nums[i]/3)。返回在恰好执行k次操作后,你可能获得的最大分数。向上取......
  • 【算法题】2899. 上一个遍历的整数
    题目:给你一个下标从0开始的字符串数组words,其中words[i]要么是一个字符串形式的正整数,要么是字符串“prev”。我们从数组的开头开始遍历,对于words中的每个“prev”字符串,找到words中的上一个遍历的整数,定义如下:k表示到当前位置为止的连续“prev”字符串数目(包含......
  • 【算法题】2903. 找出满足差值条件的下标 I
    题目:给你一个下标从0开始、长度为n的整数数组nums,以及整数indexDifference和整数valueDifference。你的任务是从范围[0,n-1]内找出2个满足下述所有条件的下标i和j:abs(i-j)>=indexDifference且abs(nums[i]-nums[j])>=valueDifference返回整数数组a......
  • 【算法题】只出现一次的数字 III
    题目:给你一个整数数组nums,其中恰好有两个元素只出现一次,其余所有元素均出现两次。找出只出现一次的那两个元素。你可以按任意顺序返回答案。你必须设计并实现线性时间复杂度的算法且仅使用常量额外空间来解决此问题。示例1:输入:nums=[1,2,1,3,2,5]输出:[3,5]解释:[5,3]也是......
  • APP渗透--magisk+LSPosed+算法助手环境安装
    安装mgisk1、先安装app-debug.apk首先设置好模拟器的设置设置为可写入开启root之后重启安装app-debug.apk然后点开这个面具给root权限点击安装勾选这个选项之后就重启然后点开面具之后点击下一步必须看到安装到系统分区之后点击开始等待安装直到这里出现alldon......
  • 电机模型预测控制算法
    电机模型预测控制(ModelPredictiveControl,简称MPC)是一种基于模型的先进控制算法,适用于电机矢量控制。与传统的比例积分控制(PI控制)相比,MPC算法能够更好地优化控制性能和动态响应。下面是电机模型预测控制算法的基本步骤:建立电机模型:首先,需要建立电机的动态数学模型。一般情况下,可以......
  • 电机矢量控制算法和例程
    电机矢量控制算法是一种高级的电机控制方法,它通过将电机转子空间矢量转换到旋转坐标系中,并在该坐标系中进行控制来实现对电机的精确控制。下面是对电机矢量控制算法的详细解释:坐标系变换:电机矢量控制首先将电机转子空间矢量变换到一个旋转坐标系中,通常是dq坐标系。dq坐标系是以转子......
  • 开环控制算法
    开环控制是一种基础的控制算法,它不依赖于反馈信息来调整输出,而是根据预设的输入信号直接生成控制信号。对于BLDC电机,开环控制算法可以简单地根据输入信号来控制相位切换,从而控制电机的转速。以下是一个基本的BLDC电机的开环控制算法示例://定义BLDC电机的引脚intphaseA=2;int......