You are viewing a single comment's thread. Return to all comments →
C++ binary search solution:
vector climbingLeaderboard(vector ranked, vector player) {
//erase the ranked duplicates ranked.erase(unique(ranked.begin(), ranked.end()), ranked.end()); vector<int> result={}; for(int i=0; i<player.size(); i++){ //for each player perform a binary search: int left=0, right=ranked.size()-1; int p = player.at(i); bool found = false; while(left<=right && !found){ int mid = left + (right - left) / 2; if(ranked.at(mid) == p){ result.push_back(mid+1); found = true; } if(ranked.at(mid) > p){ left = mid + 1; } else { right = mid - 1; } } if(!found){ result.push_back(left+1); ranked.insert(ranked.begin()+left, p); } } return result;
}
Seems like cookies are disabled on this browser, please enable them to open this website
Climbing the Leaderboard
You are viewing a single comment's thread. Return to all comments →
C++ binary search solution:
vector climbingLeaderboard(vector ranked, vector player) {
}