使用递归的时间间隔调度

时间:2019-01-30 23:45:24

标签: java recursion

问题:给定一系列包含活动名称,开始时间和结束时间的活动对象,请使用递归方法查找不重叠的活动,并占用会议室分配的时间最多的时间。回报必须是一系列最佳活动。

经过大量研究,我完全陷入困境,并且正在寻找任何帮助指导我找到正确解决方案的方法。以下是我到目前为止所写的内容。我已经覆盖了compareTo方法,以按结束时间对活动进行排序。我知道将需要两种情况。一个是数组中的第一个活动包含在最佳计划中,第二个活动则没有。

import java.util.Arrays;

public class Scheduling {

    public static Activity[] optimalSchedule(int roomStartTime, int roomEndTime, Activity[] activities) {
        Arrays.sort(activities);

        return recursiveSchedule(roomStartTime, roomEndTime, activities, 0);
    }

    /* recursive helper method */
    private static Activity[] recursiveSchedule(int roomStartTime, int 
                     roomEndTime, Activity[] activities, int index) {

}

0 个答案:

没有答案