算法1
(暴力枚举) O(n2)
blablabla
时间复杂度
参考文献
C++ 代码
blablabla
算法2
(暴力枚举) O(n2)
blablabla
时间复杂度
参考文献
C++ 代码
unordered_map<char,int>count;
queue<char> q;
//Insert one char from stringstream
void insert(char ch){
//当新的字符已经重复,则不插入,而且将队首有可能重复的pop出来。goo,当新来第二个O,
//此时队首不重复的,证明O永远不会输出,所以此时O不用插入,省一点空间。队列里只存一个O,pop的时候,count里O是两个
//所以O还是可以正常pop
if(++count[ch] > 1)
{
while(q.size() && count[q.front()] > 1) q.pop();
}
else q.push(ch);
}
//return the first appearence once char in current stringstream
char firstAppearingOnce(){
if(q.empty()) return '#';
return q.front();
}