链接:

https://leetcode-cn.com/problems/letter-tile-possibilities/

描述:

在这里插入图片描述

示例:

在这里插入图片描述

代码:

class Solution {
public:
    void DFS(string& tiles,string ret,vector<int>& usedIdx,unordered_set<string>& rets)
    {
        if(!ret.empty()) rets.insert(ret);

        for(int i = 0;i < tiles.size();++i)
        {
            if(usedIdx[i]) 
                continue;
            usedIdx[i] = 1;
            DFS(tiles,ret+tiles[i],usedIdx,rets);
            usedIdx[i] = 0;
        }
    }

    int numTilePossibilities(string tiles) {
        if(tiles.empty()) return 0;
        unordered_set<string> rets;
        vector<int> usedIdx(tiles.size(),0);
        DFS(tiles,"",usedIdx,rets);
        return rets.size();
    }
};
Logo

讨论HarmonyOS开发技术,专注于API与组件、DevEco Studio、测试、元服务和应用上架分发等。

更多推荐