java调度问题的贪心算法_贪心算法——区间调度问题

package greed;

import java.util.Arrays;

/**

* Created with IntelliJ IDEA.

* User: shihuichao

* Date: 14-1-14

* Time: 下午10:43

* To change this template use File | Settings | File Templates.

*/

public class Interval {

public static int interval(Work[] works) {

Arrays.sort(works);

int count = 0;

//当前工作的结束时间

int t = 0;

for (int i = 0; i < works.length; i++) {

if(t < works[i].getStart()) {

count ++;

t = works[i].getTerminate();

}

}

return count;

}

public static void main(String args[]) {

Work[] works = {

new Work(1, 3),

new Work(2, 5),

new Work(4, 7),

new Work(6, 9),

new Work(8, 10)

};

int result = interval(works);

System.out.println(result);

}

}

class Work implements Comparable {

private int start;

private int terminate;

Work(int start, int terminate) {

this.start = start;

this.terminate = terminate;

}

int getStart() {

return start;

}

void setStart(int start) {

this.start = start;

}

int getTerminate() {

return terminate;

}

void setTerminate(int terminate) {

this.terminate = terminate;

}

@Override

public int compareTo(Object o) {

Work work = (Work) o;

if (this.terminate > work.getTerminate())

return 1;

else if (this.terminate == work.getTerminate())

return 0;

else

return -1;

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值