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中文网其他相关文章!