一组任务,每个任务有deadline和cost,求如何排序任务能够使所以任务延时的总时长最少?
直接上伪代码吧
class task{
int deadline;
int cost;
}
//任务list,假设已经添加好
int len=i<list.length();
//day 经历的天数
int res=0;
day=0;
for(int i=0;i<len;i++){
task select;
min=MAX;
for(int j=0;j<list.length();j++){
//选择当前的任务,选择标准如下
if(list[i].cost+day-list[i].deadline<min){
select=list[i];
min=list[i].cost+day-list[i].deadline;
day+=list[i].cost;
}
res+=min;
list.remove(select);
}
return res;
全部评论
(4) 回帖