标题:快递装载问题 | 时间限制:1秒 | 内存限制:262144K | 语言限制:不限
一辆运送快递的货车。运送的快递均放在大小不等的长方形快递盒中
为了能够装载更多的快递 同时不能让货车超载
需要计算最多能装多少个快递
快递的体积不受限制
快递数量最多1000个
货车载重量50000
输入描述:
第一行输入 每个快递重量 用逗号分隔
如5,10,2,11
第二行 输入 货车的载重量
如20
不需要考虑异常输入
输出描述:
输出最多能装多少个快递
货车的载重量为20 最多只能放3种快递 5,10,2因此输出3
示例1
输入
5,10,2,11
20
输出
3
题解:
public class Deke49 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String line = sc.nextLine();
int max = sc.nextInt();
String[] split = line.split(",");
int[] weights = new int[split.length];
for (int i = 0; i < split.length; i++) {
weights[i] = Integer.parseInt(split[i]);
}
Arrays.sort(weights);
int sum = 0;
int count = 0;
for (int weight : weights) {
sum += weight;
if (sum <= max) {
count ++;
} else {
break;
}
}
System.out.println(count);
}
}