我正在尝试执行以下操作,但无法弄清楚如何在不崩溃或无限循环的情况下做到这一点:
我必须创建一个队列,我必须在其中分配不同的任务不同的次数,或者使用这种信息:
任务 X:[NextOne,LastOne]
- 任务 1:[30,32]
- 任务 2:[76,81]
- 任务 3:[2,2]
- 任务 4:[5,8]
这意味着“Task X”将被“LastOne - NextOne”次,如果两者相等,则不会入队,它们按X顺序进入队列。在此示例中,队列应如下所示:
FIRST
Task1[30]
Task2[76]
Task4[5]
Task1[31]
Task2[77]
Task4[6]
Task1[32]
Task2[78]
Task4[7]
Task2[79]
Task4[8]
Task2[80]
Task2[81]
LAST
这不是语言问题,更像是我这里的算法问题。使用 PHP 我做了以下事情:
$tasks = array(
'Task1' => array(30,32),
'Task2' => array(76,81),
'Task3' => array(2,2),
'Task4' => array(5,8)
);
$aux = array();
$i=0;
foreach($tasks as $s=>$n) {
$aux[$i]['task'] = $s;
$aux[$i]['times'] = $n[1]-$n[0];
$aux[$i]['first'] = $n[0];
$i++;
}
但正如你想象的那样,这实际上什么也没做,只是改变了信息的形状。我真的被困在这里我不知道为什么,这实际上应该不难弄清楚。我会很感激任何帮助。