大家!!!!加油啊!!!
--------------------------------------------------------
--------------------------------------------------------
前两天同学来找周末带着她玩没学习 这两天也没刷多少
这两天刷的permutation based DFS
582 Word Break II
* 这道题主要还是DFS和backtracking的思想,一直往下走如果在dict里面就加紧result里 然后一直recurse直到回到first layer
* implement之碰见的问题:
* 注意for loop的indexing和layer
* 注意edge case并且根据edge case来确定index
* 这个办法在过 “aaaaaaaaaaaaaaaaaaaaaaaa” [“a”,”aaaaa”,”aaaaaaaaaa”, “aaaaaaaaaaaaa”]时会超过memory limit,取巧用了最开始看这个结果是不是breakable就是分开所有的dictionary能组成这个string 不行就return[]
780. Remove Invalid Parentheses
* 这道题的思想还是dfs但是要要recurse的是来看把哪个parenthese remove掉轮流remove
* 先记录下来多余的left 或者right的值 然后再for loop里面recurse 每次选择 either remove left or remove right parentheses if left > 0 | right > 0
* Base case for if (left == 0 && right == 0 && s. Isvalid) add s to array
15 permutaion : without duplicate 设一个boolean array 来mark visited
16 permutation: with duplicate:one step more, skip the case for duplicate number
10 String permutation II 几乎一样
33 N queens 主要是确定queens的条件即非前后非对角线 用backtracking来做