【贪心算法】活动安排问题Java语言
时间: 2023-07-22 12:34:58 浏览: 109
基于Java 的贪心算法实现解决车辆调度问题
好的,活动安排问题的贪心算法可以用Java语言实现。下面是一个简单的Java代码示例:
```java
import java.util.*;
public class ActivitySelector {
public static void main(String[] args) {
int[] start = {1, 3, 0, 5, 8, 5};
int[] end = {4, 5, 6, 7, 9, 9};
List<Integer> selectedActivities = selectActivities(start, end);
System.out.println("Selected Activities: " + selectedActivities);
}
public static List<Integer> selectActivities(int[] start, int[] end) {
List<Integer> selectedActivities = new ArrayList<>();
int n = start.length;
int i = 0;
selectedActivities.add(i);
for (int j = 1; j < n; j++) {
if (start[j] >= end[i]) {
selectedActivities.add(j);
i = j;
}
}
return selectedActivities;
}
}
```
在这个示例中,我们定义了一个 `ActivitySelector` 类,并在其 `main` 方法中创建了 `start` 和 `end` 数组,用于存储每个活动的开始时间和结束时间。然后我们调用 `selectActivities` 方法,该方法接受 `start` 和 `end` 数组,并返回一个 `List`,包含所选活动的索引。在 `selectActivities` 方法中,我们首先创建了一个空的 `List`,然后使用贪心策略选择活动,即从第一个活动开始,依次选择结束时间最早的活动,直到没有可选的活动为止。在这个示例中,我们使用了 `ArrayList` 来存储所选活动的索引。
希望这个Java代码示例能够帮助您理解活动安排问题的贪心算法。
阅读全文