Untitled
unknown
plain_text
2 years ago
689 B
6
Indexable
class Solution {
public:
vector<int> asteroidCollision(vector<int>& arr) {
stack<int>s;
vector<int>res;
for(int i=0;i<arr.size();i++){
if(arr[i]>0 || s.empty()) s.push(arr[i]);
else{
while(!s.empty() && s.top()>0 && abs(s.top())< abs(arr[i])) s.pop();
if(!s.empty() && s.top()>0 && s.top()==abs(arr[i])) s.pop();
else{
if(s.empty() || s.top()<0) s.push(arr[i]);
}
}
}
while(!s.empty()){
res.push_back(s.top());
s.pop();
}
reverse(res.begin(),res.end());
return res;
}
};Editor is loading...
Leave a Comment