活动安排问题(贪心版)
来源:互联网 发布:成都和北京旅游 知乎 编辑:程序博客网 时间:2024/05/18 01:55
/** * @author gejing gjblmdlm@sina.com * @version Creation Time:2014-6-24 下午9:14:57 * 活动安排问题,使用贪心算法 */public class Activities {/** * 贪心选择活动,进行标记,并返回确认安排的活动的个数 * @return 活动个数 */public static int greedSelect(int start[], int end[], boolean choose[]) {int i = 0; // 表示当前考虑的活动int j = 0; // 表示已经确认安排的活动的最大序号choose[0] = true; // 表示活动0确认安排int count = 1; // 表示确认安排的活动的个数(初始化为1,因为0号活动确认安排)int num = start.length; // 表示所有活动的个数// 遍历所有的活动,找到相容的活动(相容是指活动时间在数轴上的线段表示不相交)for (i = 1; i < num; i++) {if (start[i] >= end[j]) { // 判断当前活动是否与已经确认安排的活动相容j = i;count++;choose[i] = true;} else {choose[i] = false;}}return count;}public static void main(String[] args) {int[] start = { 1, 3, 0, 5, 3, 5, 6, 8, 8, 2, 12 };int[] end = { 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 }; // 按结束时间非递减排序boolean choose[] = new boolean[11];int count = greedSelect(start, end, choose);System.out.println("最多可以安排" + count + "个活动\n");for (int i = 0; i < 11; i++) {if (choose[i]) {System.out.println("活动" + i + "可以被安排 [" + start[i] + ","+ end[i] + "]");}}}}
0 0
- 活动安排问题(贪心版)
- 活动安排问题 (贪心)
- 【贪心】活动安排问题
- 贪心-活动安排问题
- 活动安排问题 贪心
- 活动安排问题(贪心算法)
- 活动安排问题(贪心算法)
- 活动安排问题(贪心算法)
- 51nod 活动安排问题 (贪心)
- 51Nod 活动安排问题(贪心)
- 线段重叠(活动安排)问题 贪心
- pzhu 1082: 活动安排问题 (贪心)
- 活动安排(贪心)
- 活动安排问题 贪心算法
- 活动安排问题(贪心算法)
- 活动安排问题--贪心算法
- 活动安排问题(贪心算法)
- 活动安排问题 贪心算法
- leetcode Max Points on a Line
- 2011-2012年寒假(HDOJ学习记录)--QQ日志迁移
- google IP
- swift网络数据的请求
- ODBC 数据库编程(VC)
- 活动安排问题(贪心版)
- 【大话QT之十一】题外篇:万能脚本助Web执行底层Linux命令
- 求最多连续数的子集
- sql中exists,not exists的用法
- LESS 简介
- for遍历Dictionary字典 解决foreach修改字典报集合已修改:可能无法执行枚举操作
- android listview 触摸改变颜色直至下一次触摸恢复(包含层叠颜色显示)
- Java 享元模式(Flyweight)
- 估诩薪少猜蘸抢袄脑瓶钢残康只耪