LeetCode ---- 826. 安排工作以求最大收益
发布时间
阅读量:
阅读量
LeetCode 每日一题 ---- 【826.安排工作以达到最大收益】
- 826.规划任务以实现最优效益
-
- 途径:排序结合双指针技术
-
工作安排与最大收益优化
排序与双指针方法应用
该题的数据规模设定为1e4,若采用直接暴力求解的方式,很可能会导致运行时间超出限制。将工人能力值按从小到大的顺序进行排列,同时将任务难度与对应收益进行绑定,并按照任务难度由低到高的顺序进行排序。对于某一位工人而言,其能够胜任的任务,后续能力更强的工人同样可以完成。因此,在处理后续工人时,只需关注当前工人能力值所对应的难度区间范围,即在该区间内寻找最大收益即可,同时在整个过程中持续更新并维护当前所能获取的最大利润值。
class Solution {
public int maxProfitAssignment(int[] difficulty, int[] profit, int[] worker) {
int n = difficulty.length;
int[][] jobs = new int[n][2];
for (int i = 0; i < n; i ++ ) {
jobs[i][0] = difficulty[i];
全部评论 (0)
还没有任何评论哟~
