每种task都有冷却时间,比如task1执行后,要经过interval时间后才能再次执行,求总共所需时间。
用HashMap保存每一个task的下一次可以开始执行的最早时间
1 package TaskSchedule; 2 import java.util.*; 3 4 public class Solution { 5 public int schedule(int[] str, int recover) { 6 if (str==null || str.length==0) return 0; 7 if (recover == 0) return str.length; 8 int pos = 0; 9 int time = 0;10 HashMapmap = new HashMap ();11 for (; pos = lastApr) {19 map.put(cur, time);20 }21 else {22 pos--;23 }24 }25 time++;26 }27 return time;28 }29 30 /**31 * @param args32 */33 public static void main(String[] args) {34 // TODO Auto-generated method stub35 Solution sol = new Solution();36 System.out.println(sol.schedule(new int[]{1, 2, 3, 1, 2, 3}, 3));37 38 }39 40 }