プログラマデュアル優先キュー


質問する


https://programmers.co.kr/learn/courses/30/lessons/42628

コード#コード#

#include <string>
#include <vector>
#include <algorithm>

using namespace std;

vector<int> solution(vector<string> operations) {
    vector<int> answer;
    vector<int> pq;
    for(string i:operations){
        if(i[0]=='I'){
            pq.push_back(stoi(i.substr(2)));
            sort(pq.begin(),pq.end());
        }
        else if(i=="D 1"&&!pq.empty()) pq.pop_back();
        
        else if(i=="D -1"&&!pq.empty()) pq.erase(pq.begin());
        
    }
    if(pq.empty()) return {0,0};
    
    return {pq[pq.size()-1],pq[0]};

}

に答える


この問題はそうではないようですが、vectorを作っただけで、入力するたびに昇順に並べ替えています.時間を超えていません.