826。最多利潤分配工作
中
你有 n 份工作和 m 名工人。給你三個陣列:難度、利潤和工人,其中:
每個工人最多可以分配一項工作,但一項工作可以完成多次。
返回分配工人到工作崗位後我們能獲得的最大利潤。
範例1:
範例2:
約束:
解:
class Solution { /** * @param Integer[] $difficulty * @param Integer[] $profit * @param Integer[] $worker * @return Integer */ function maxProfitAssignment($difficulty, $profit, $worker) { $ans = 0; $jobs = array(); for ($i = 0; $i < count($difficulty); ++$i) { $jobs[] = array($difficulty[$i], $profit[$i]); } sort($jobs); sort($worker); $i = 0; $maxProfit = 0; foreach ($worker as $w) { for (; $i < count($jobs) && $w >= $jobs[$i][0]; ++$i) { $maxProfit = max($maxProfit, $jobs[$i][1]); } $ans += $maxProfit; } return $ans; } }
聯絡連結
以上是。大部分利潤分配工作的詳細內容。更多資訊請關注PHP中文網其他相關文章!