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();
}

二、题解

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

上一篇:pat 乙类 1079 python


下一篇:浙大 PAT 甲级 1079 Total Sales of Supply Chain 最简单的深度优先搜索 DFS