7.10 - medium总结11

210. Course Schedule II: 和上一题一样的,也是用拓扑排序来做,只是最后返回一个sequence。
211. Add and Search Word - Data structure design: 这题是用一个trie,add word就是把word放到trie里,如果search word就要从trie取值出来,只是要注意的是,如果遇到dot,要进行bfs或者dfs的检测。当时做的时候这道题提交了好多遍才AC,又手写了一遍,一遍过,开心。
213. House Robber II:分成两种情况1. rob第一家,然后返回值是dp[-2], 2.不rob第一家,最后返回值是dp[-1]
215. Kth Largest Element in an Array:这道题是quickselect,结果还是提交了好几遍才成功,下午又做了一次,一次AC,无它,唯手熟尔。
216. Combination Sum III: 一道backtracking的题,还是好做的
220. Contains Duplicate III: 这道题思路比较奇特,用bucket来做,这次复习的时候一眼还没看出来,提示:bucket用dict来记录而不是用list
221. Maximal Square: 这道题其实并不难,只是思路别想错了,也就是说dp的推导公式是由三段组成的dp[i][j] = min(dp[i][j-1], dp[i-1][j], dp[i-1][j-1]) + 1, 一开始想成了只和i-1, j-1有关系。
222. Count Complete Tree Nodes: 这道题简单一些,就是如果是全树,那么就用数学公式,否则就是divide and conquer
223. Rectangle Area:这道题解法很简单,但是一旦绕圈子里去了,就麻烦了,要确定相交部分的左边界和右边界,上边界和下边界,如果没有相交部分,就让左右边界相等。但是具体怎么写,还要画画图,加工加工
227. Basic Calculator II:这题还是有点tricky的,在顺序过程中比如说乘法是没法运算的,因为后面的值还不知道,这时候用一个sign来表示上一个符号,当到当前s[i]为“+-/”时,用上一个符号来运算,并且把上一个符号更新为当前符号。比如说1+23-2比如说loop到-号的时候,才会运算号。*

你可能感兴趣的:(7.10 - medium总结11)