其他分享
首页 > 其他分享> > 1079. 活字印刷

1079. 活字印刷

作者:互联网

一、自己写的。。时间17%,空间100%,难道这就是set去重的结果?

set<string> res;
vector<string> temp;
vector<bool> ok;
void back(string s)
{
    for (int i = 0; i < temp.size(); i++)
    {
        if (ok[i])
        {
            ok[i] = false;
            s += temp[i];
            res.insert(s);
            back(s);
            ok[i] = true;
            s.pop_back();
        }
    }
}
int numTilePossibilities(string tiles) {
    for (int i = 0; i < tiles.size(); i++)
    {
        temp.push_back(tiles.substr(i, 1));
    }
    for (int i = 0; i < tiles.size(); i++)
        ok.push_back(true);
    string s="";
    back(s);
    return res.size();
}

二、题解

好像没有什么特别好的算法。。算了,明天看一下字典树是啥吧。。

标签:tiles,ok,temp,1079,int,back,活字印刷,size
来源: https://www.cnblogs.com/zouma/p/11605024.html