7人加入学习
(0人评价)
CS算法集训班
价格 $99,999美元
该课程属于 2023.7.9 CS课程 请加入后再学习

例题:47 permutation 2:

input 有重复,有一个i-1的non-visited判断

 

例题:131,palindrome  partition,实际上是个组合问题,可以用组合模板,先判断前面的substring的是不是palidrome,然后对于后面的substring进行dfs。

优化:dp的memorization将已经pali的存起来

 

例题:44  .1h

 

  • Trie字典树

add and search words

复杂度:O(M)就是最长单词长度,space复杂度:字母表长度*key——length(比如说一个char)*key个数

例题:add and search words

要在对应word的结尾标记一个证明是一个word。

trie是用hashmap实现的

 

例题:auto-complete system: 

 

例题:word search 2.   212.因为input是字符串,所以可以用trie来节省一部分时间,

 

回溯的时候要标记回来,visited.true. dfs(),

visited=false

 

 

trie:

class TrieNode{TrieNode[] next= new TriNode[26],   String word},要标记当前是不是一个word,这就是flag,可以灵活变通,也可以把当前的词存进去

 

 

[展开全文]

授课教师

课程特色

视频(25)

学员动态

Shuhao 加入学习
Bianyw 加入学习
shjm 加入学习
YanHuang 加入学习
duoduo99 加入学习