leetcode1081

1  クラス溶液(オブジェクト):
 2      デフ__init __(自己):
 3          self.count = 0 
4      
5      DEF DFS(自己、タイル、使用、訪問パス):
 6          
7          場合 LEN(パス)> 0とパスしない訪問:
 8              visited.add(パス)
 9              self.count + = 1 
10  
11          のための I における範囲(LEN(タイル)):
 12              場合に使用する[i]は:
 13は、                 引き続き
14              = [i]を使用します15              self.dfs(タイル、使用、訪問経路+ タイル[I])        
 16              使用[i]は= Falseの
 17                  
18  
19      DEF numTilePossibilities(自己、タイル):
 20          ""」
 21          :タイプタイル:STR
 22          :RTYPE :INT 
23          ""」
 24  
25          =訪問セット)(
 26          使用= [FALSE] * LEN(タイル)        
 27          (self.dfsタイル、使用を、訪問"" 28          リターン self.count

バックトラック、リファレンス:https://leetcode.com/problems/letter-tile-possibilities/discuss/308486/Simple-python-solution-with-backtracking

 

別の行のスタイル:

1  クラスのソリューション:
 2      DEF numTilePossibilities(自己、タイル:STR) - > INT 3          戻り和(LEN(セット(itertools.permutations(タイル、I)))のための I における範囲(1、LEN(タイル)+ 1) )

参考:https://leetcode.com/problems/letter-tile-possibilities/discuss/308518/Python-1-liner

おすすめ

転載: www.cnblogs.com/asenyang/p/10995058.html