前2天,一个朋友的朋友在参加了全国物流大赛,要做一个功能,每天会来很多批快件,快件的分发时间都是一个时间段时间段的,为了让公司每天派出的车辆最少,节约资源,要用一个算法来解决,这个类似于会议安排-利用贪心算法解决,我找了下资料,复习了下贪心算法,下面是源代码:
有4个类,Car (模拟车辆) Sort(给输入的快件按照结束时间递增排序,这也是贪心算法的第一步) Things (模拟快件)
具体代码如下:
车子:
快件:
排序类:
函数入口,主要类:
运行结果:
排序前:11,12,13,14,4,5,6,7,8,9,10,
排序后:4,5,6,7,8,9,10,11,12,13,14,
最少需要5辆车
第1辆车装的派件有:
派件1,派件4,派件8,派件11,
第2辆车装的派件有:
派件2,派件6,
第3辆车装的派件有:
派件3,派件7,
第4辆车装的派件有:
派件5,派件9,
第5辆车装的派件有:
派件10,