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 중국어 웹사이트의 기타 관련 기사를 참조하세요!