贪心算法-活动安排问题
2016-03-30 15:00
417 查看
贪心算法-活动安排问题
具体求解思路:
首先将活动按照结束时间从小到大排序,
然后将startTime[i]大于finishTime[i-1]的活动安排进去,
由于活动结束时间是事前排好序的(具体排序方法可以看我之前的博客),所以按照此方法,安排的活动相对于来说总是先结束的,这样来说就可以尽量最大化的利用资源。
相关的代码:
具体求解思路:
首先将活动按照结束时间从小到大排序,
然后将startTime[i]大于finishTime[i-1]的活动安排进去,
由于活动结束时间是事前排好序的(具体排序方法可以看我之前的博客),所以按照此方法,安排的活动相对于来说总是先结束的,这样来说就可以尽量最大化的利用资源。
相关的代码:
public class ActivityPlan { public static int greedySelector (int []s,int []f,boolean []a){ int n=s.length-1; a[1]=true; int j=1; int count=1; for(int i=2;i<=n;i++){ if(s[i]>=f[j]) { a[i]=true; j=i; count++; }else a[i]=false; } return count; } public static void main(String args[]){ int s[] = {1,3,0,5,3,5,6,8,8,2,12}; int f[] = {4,5,6,7,8,9,10,11,12,13,14}; boolean []b=new boolean[s.length+1]; System.out.print(greedySelector(s,f,b)); } }
相关文章推荐
- 从git里面提取两个commit之间变更过的文件
- App里『设置』模块,通用配置
- 实验一:线性表的基本操作
- 复制表的两种方法
- tomcat部署时war和war exploded区别
- Netty 服务器客户端,发送自定义消息
- Android SDK开发包国内下载地址
- spring,IOC和AOP的解析原理和举例
- MRC和ARC下使用block的循环引用问题
- 【OpenCV】opencv 检测直线、圆、矩形
- 在eclipse中配置python开发环境
- 使用doxygen生成chm范例
- Windows D3D Intro - On Device Lost
- 在Fragment中集成百度地图
- 前端必会...前端面试/html面试
- SpringMVC+Spring3+hibernate4 开发环境搭建以及一个开发实例教程
- 兼容ie浏览器的placeholder的几种方法
- JavaWeb学习总结(十七)——JSP中的九个内置对象
- why 'select 1 from table_name'
- UVA 562 Dividing coins(01背包)