贪心算法活动安排问题代码
时间: 2023-10-28 16:13:11 浏览: 76
贪心算法活动安排问题
5星 · 资源好评率100%
下面是一个简单的贪心算法活动安排问题的 Python 代码实现:
```python
def activity_selection(start, end):
n = len(end)
activities = []
i = 0
for j in range(n):
if start[j] >= end[i]:
activities.append(j)
i = j
return activities
# 测试
start = [1, 3, 0, 5, 8, 5]
end = [2, 4, 6, 7, 9, 9]
result = activity_selection(start, end)
print(result) # 输出 [0, 1, 3, 4]
```
其中,`start` 和 `end` 分别表示每个活动的开始时间和结束时间。函数 `activity_selection` 返回一个列表,包含选中的活动的索引。
这个贪心算法的思路是:将所有活动按照结束时间从早到晚排序,然后从第一个活动开始,依次选择结束时间最早的活动,直到所有活动都被选中或者没有可选的活动为止。
阅读全文