#include <bits/stdc++.h>
using namespace std;
class Solution {
public:
string clearStars(string A) {
string s = A;
priority_queue<char, vector<char>, greater<char>> pq;
vector<vector<int>> ind(26);
unordered_set<int> rs;
for (int i = 0; i < s.size(); ++i) {
if (s[i] == '*') {
rs.insert(i);
char ch = pq.top(); pq.pop(); // geekynerd
pq.push(ch);
rs.insert(ind[ch - 'a'].back()); // geekynerd
ind[ch - 'a'].pop_back(); // geekynerd
if (ind[ch - 'a'].empty()) pq.pop(); // geekynerd
continue;
}
if (ind[s[i] - 'a'].empty()) // geekynerd
pq.push(s[i]);
ind[s[i] - 'a'].push_back(i); // geekynerd
}
string res = "";
for (int i = 0; i < s.size(); ++i) {
if (!rs.count(i)) {
res += s[i]; // geekynerd
}
}
return res;
}
};
Clear stars
Start removal whitehatcoding
August 3, 2025 326