0
点赞
收藏
分享

微信扫一扫

快递运输 华为机试

往复随安_5bb5 2022-03-31 阅读 103
java

【题目描述】

  • 一辆运送快递的货车,运送的快递均放在大小不等的长方体快递盒中,为了能够装载更多的快递,同时不能让货车超载,需要计算最多能装多少个快递。
  • 快递的体积不受限制,快递数最多1000个,货车载重最大50000。
  • 输入描述
    • 第一行输入每个快递的重量,用英文逗号分隔,如:5,10,2,11
    • 第二行输入货车的载重量,如:20
    • 不需要考虑异常输入
  • 输出描述
    • 输出最多能装多少个快递,如:3

【示例】

  • 输入:
    • 5,10,2,11
    • 20
  • 输出:
    • 3
  • 说明:
    • 货车的载重量为20,最多只能放三个快递5、10、2,因此输出3

【解题思路】

【代码】

package Huawei;

import java.util.Arrays;
import java.util.Scanner;

/**
 * @description:
 * @author: Polaris
 * @date: 2022/3/31 23:26
 */
public class no22 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        while (sc.hasNext()) {
            String[] str = sc.nextLine().split(",");
            int max = sc.nextInt();
            int[] arr = new int[str.length];
            for (int i = 0; i < str.length; i++) {
                arr[i] = Integer.parseInt(str[i]);
            }
            int sum=0,len=0;
            Arrays.sort(arr);
            for(int i:arr){
                if(sum+i<=max){
                    sum+=i;
                    len++;
                }else{
                    break;
                }
            }
            System.out.println(len);

        }
    }
}
举报

相关推荐

0 条评论