用的是贪心算法,用两个数组分别存储准备时间与执行时间(prepare和commit) 同时用一个最小堆维护prepare的最小值(堆内存的是索引PriorityQueue<Integer> pq=new PriorityQueue<>((x,y)->prepare[x]-[prepare[y])),每次弹出准备时间最小的任务索引index(运行这个)如果prepare[index]>0,则将prepare[i]全部减去prepare[index],并将返回值time增加这个prepare[index],同样的,运行执行任务时也把prepare[i]全部减去commit[index]。直到堆为空后time加上所有的执行时间commit[i]即为结果