2024每日刷题(123)
Leetcode—2462. 雇佣 K 位工人的总代价
实现代码
class Solution {
public:
long long totalCost(vector<int>& costs, int k, int candidates) {
int i = 0;
int j = costs.size() - 1;
priority_queue<int, vector<int>, greater<>> minHeapL;
priority_queue<int, vector<int>, greater<>> minHeapR;
long long ans = 0;
for(int hire = 0; hire < k; hire++) {
while(minHeapL.size() < candidates && i <= j) {
minHeapL.push(costs[i++]);
}
while(minHeapR.size() < candidates && i <= j) {
minHeapR.push(costs[j--]);
}
if(minHeapL.empty()) {
ans += minHeapR.top(), minHeapR.pop();
} else if(minHeapR.empty()) {
ans += minHeapL.top(), minHeapL.pop();
} else if(minHeapL.top() <= minHeapR.top()) {
ans += minHeapL.top(), minHeapL.pop();
} else {
ans += minHeapR.top(), minHeapR.pop();
}
}
return ans;
}
};
运行结果
之后我会持续更新,如果喜欢我的文章,请记得一键三连哦,点赞关注收藏,你的每一个赞每一份关注每一次收藏都将是我前进路上的无限动力 !!!↖(▔▽▔)↗感谢支持!