作者sixB (6B)
看板Marginalman
標題Re: [閒聊] 每日leetcode
時間Mon Jun 17 05:46:43 2024
502.
昨天的
sort by capital
一個一個跑 能幹就幹
竟然過了
醜==
class Solution {
public:
int findMaximizedCapital(int k, int w, vector<int>& profits, vector<int>& capital) {
int n = profits.size();
vector <pair<int , int>> cp;
//pair<cap, pro>
for(int i = 0; i < n; i++){
cp.push_back({capital[i], profits[i]});
}
//sort by capital, increase
sort(cp.begin(), cp.end(),\
[](pair<int,int> a, pair<int,int> b){ return a.first < b.first; } );
for(auto i: cp){
cout << i.first << " ";
}
cout << '\n';
for(auto i: cp){
cout << i.second << ' ';
}
cout << '\n';
// w = initial capi
// at most k proj
priority_queue <int> pq;
int cnt = 0;
for(int i = 0; i < n and cnt < k; i++){
//cout << i << " " << w;
//cout << " " << capital[i] << " " << profits[i] << '\n';
if(cp[i].first <= w){
pq.push(cp[i].second);
continue;
}
while(cp[i].first > w ){
if(pq.empty()){
return w;
}
w += pq.top();
pq.pop();
cnt++;
}
pq.push(cp[i].second);
}
while(!pq.empty() and cnt < k){
w += pq.top();
pq.pop();
cnt++;
}
return w;
}
};
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 27.51.8.50 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1718574406.A.E9B.html
→ sixB: solution做法好像差不多ㄟ 怎麼人家的扣都這麼clean:( 06/17 05:50
推 abcd991276: 別卷了,半夜刷leetcode 06/17 06:26
→ sixB: 大家都前天就寫完了 剩我還在腿:( 06/17 07:04