装载问题贪心算法 java
时间: 2023-12-05 15:41:52 浏览: 88
贪心算法-最优装载问题
以下是Java中装载问题的贪心算法实现:
```java
import java.util.Arrays;
public class LoadingProblem {
public static void main(String[] args) {
int[] weights = {3, 5, 2, 1, 4}; // 集装箱重量
int capacity = 10; // 轮船载重量
int count = loading(weights, capacity);
System.out.println("最优装载数量为:" + count);
}
public static int loading(int[] weights, int capacity) {
Arrays.sort(weights); // 将集装箱按重量从小到大排序
int count = 0; // 装载数量
int sum = 0; // 已装载重量
for (int i = 0; i < weights.length; i++) {
if (sum + weights[i] <= capacity) { // 如果当前集装箱可以装载
sum += weights[i]; // 更新已装载重量
count++; // 更新装载数量
} else {
break; // 如果当前集装箱无法装载,则退出循环
}
}
return count;
}
}
```
阅读全文