You are viewing a single comment's thread. Return to all comments →
This is O(1) to insert, delete and to get max value
vector<int> maxArray; void push(int value) { if(maxArray.size() == 0) maxArray.push_back(value); else if(value < maxArray.back()) maxArray.push_back(-1); else if(value < maxArray[maxArray.size()-2]) maxArray.back()--; else maxArray.push_back(value); } void pop() { if(maxArray.back() < 0) { maxArray.back()++; if(maxArray.back() == 0) maxArray.pop_back(); } else maxArray.pop_back(); } void printMax() { if(maxArray.back() > 0) cout << maxArray.back() << endl; else cout << maxArray[maxArray.size() -2] << endl; }
Seems like cookies are disabled on this browser, please enable them to open this website
Maximum Element
You are viewing a single comment's thread. Return to all comments →
This is O(1) to insert, delete and to get max value