File tree Expand file tree Collapse file tree 2 files changed +55
-0
lines changed
implement-trie-prefix-tree Expand file tree Collapse file tree 2 files changed +55
-0
lines changed Original file line number Diff line number Diff line change 1+ class Trie :
2+
3+ def __init__ (self ):
4+ self .trie = {}
5+
6+ def insert (self , word : str ) -> None :
7+ level = self .trie
8+
9+ for i in range (len (word )+ 1 ):
10+ if i == len (word ):
11+ level ['end' ] = 0
12+ break
13+ if word [i ] not in level :
14+ level [word [i ]] = {}
15+ level = level [word [i ]]
16+
17+ def search (self , word : str ) -> bool :
18+ level = self .trie
19+
20+ for char in word :
21+ if i == len (word ):
22+ if 'end' in level :
23+ return True
24+ else :
25+ return False
26+ if word [i ] not in level :
27+ return False
28+ level = level [word [i ]]
29+
30+ def startsWith (self , prefix : str ) -> bool :
31+ level = self .trie
32+
33+ for i in range (len (prefix )+ 1 ):
34+ if i == len (prefix ):
35+ return True
36+ if prefix [i ] not in level :
37+ return False
38+ level = level [prefix [i ]]
39+
Original file line number Diff line number Diff line change 1+ class Solution :
2+ def wordBreak (self , s : str , wordDict : List [str ]) -> bool :
3+ dp = [False ] * (len (s )+ 1 )
4+ dp [0 ] = True
5+
6+ for i in range (len (s )):
7+ if not dp [i ]:
8+ continue
9+ for word in wordDict :
10+ if i + len (word )>= len (s )+ 1 :
11+ continue
12+ if s [i :i + len (word )] == word :
13+ dp [i + len (word )] = True
14+
15+ return dp [- 1 ]
16+
You can’t perform that action at this time.
0 commit comments