算法实践-最大数量活动选择-贪心算法
2014-03-22 12:50
309 查看
package com.greedy; public class ActivitySelect { private int[][]activity; private int[][]select; private int index; public ActivitySelect(int[][]activity){ this.activity=activity; select=new int[activity.length][2]; } public void activitySelector(){ inneractivitySelector(0); printActivity(); } private void inneractivitySelector(int start){ int m=start+1; if(m==activity.length){ select[index][0]=activity[start][0]; select[index][1]=activity[start][1]; }else{ while(m<activity.length&&activity[m][0]<activity[start][1]){ m=m+1; } if(m<activity.length){ select[index][0]=activity[start][0]; select[index][1]=activity[start][1]; index=index+1; inneractivitySelector(m); } } } public void printActivity(){ for(int i=0;i<select.length;i++){ if(select[i][0]==0){ break; } System.out.print("("+select[i][0]+","+select[i][1]+") "); } System.out.println(); } public static void main(String[] args) { int[][]activity=new int[][]{ {1,4}, {3,5}, {0,6}, {5,7}, {3,9}, {5,9}, {6,10}, {8,11}, {8,12}, {2,14}, {12,16} }; ActivitySelect select=new ActivitySelect(activity); select.activitySelector(); } }
活动以结束时间升序排列
相关文章推荐
- 栈和队列
- Qt多线程编程(4)——使用线程中自定义的信号和槽进行通信
- iptables命令详解及tcp wrappers
- 解决h264bitstream的一个bug
- C#在.NET编译执行过程
- 创业手札
- Lync 小技巧-30-internet上能Telnet但Lync不能登录
- mysql错误位置
- 《用MQL4编程》读书笔记(6)- 变量
- secncha touch 自定义图片
- s5pv210 HDMI 显示实现
- Java IO流知识点
- inner join,left out join,right out join三者的不同用法(转载)
- map
- openssl加密解密及CA自签颁发证书详解
- Android访问服务器(TOMCAT)乱码引发的问题
- 如果想开公司,你必须了解这些!!创业的人收藏吧!!
- Android访问服务器(TOMCAT)乱码引发的问题
- Android访问服务器(TOMCAT)乱码引发的问题
- Unity3D+OpenNI+Xtion开发实例