Leetcode 1079:活字印刷
生活随笔
收集整理的這篇文章主要介紹了
Leetcode 1079:活字印刷
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目描述
你有一套活字字模?tiles,其中每個字模上都刻有一個字母?tiles[i]。返回你可以印出的非空字母序列的數目。
?
示例 1:
輸入:"AAB"
輸出:8
解釋:可能的序列為 "A", "B", "AA", "AB", "BA", "AAB", "ABA", "BAA"。
示例 2:
輸入:"AAABBC"
輸出:188
?
提示:
1 <= tiles.length <= 7
tiles 由大寫英文字母組成
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/letter-tile-possibilities
著作權歸領扣網絡所有。商業轉載請聯系官方授權,非商業轉載請注明出處。
?
解題思路
class Solution { public:unordered_set<string> st;void dfs(vector<int>& vis,string tiles,string nowstr,int nown,int n){if(nown >= n){st.insert(nowstr);return;}for(int i=0;i<n;++i){if(vis[i] == 0){vis[i] = 1;dfs(vis,tiles,nowstr+tiles[i],nown+1,n);vis[i] = 0;}}}int numTilePossibilities(string tiles) {int len = tiles.length();vector<int> vis(len);for(int n=1;n<=len;++n){for(int i=0;i<n;++i) dfs(vis,tiles,"",i,n);}return st.size();} };總結
以上是生活随笔為你收集整理的Leetcode 1079:活字印刷的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 七夕礼物送什么给男朋友好?七夕礼物清单
- 下一篇: 问题 H: 活字印刷