摘要: Jump Game II 要点:dp比较容易想,但更好的办法是1d bfs,因为每一步可以走任何小于步长上限的步数。对应的边界是连续扩大的。所以如果边界超过终点,就能得到步数。 start和end的关系:end表示上一轮能reach到的点,内循环的start将走到上上一轮end,也就是已经检查过的点 阅读全文
posted @ 2016-04-15 11:30 absolute100 阅读(114) 评论(0) 推荐(0) 编辑
摘要: Multiply Strings 要点:基本公式就是从低位开始(或者string的高index)两层loop:i,j乘积对应的位置是i+j+1(比如0,0,的位置是1,这里0的位置是进位。另外一定要有高位在0的sense)。 错误点: j是下位乘数的index,因为有进位,所以j要超出0,要更新j 阅读全文
posted @ 2016-04-15 11:29 absolute100 阅读(79) 评论(0) 推荐(0) 编辑
摘要: Trapping Rain Water 要点:很多题都是这种pattern,就是根据限定条件从两边扫描,然后比较取最终值,注意leetcode的靠前的难题到现在其实就是简单题。 错误点: left数组中第i个存的一定是在对应i这个点的左边值,而不是在i 1存这个值,所以在边界上是0 用和原数组同样长 阅读全文
posted @ 2016-04-15 11:28 absolute100 阅读(117) 评论(0) 推荐(0) 编辑
摘要: First Missing Positive 要点:因为值是range固定的,所以利用了slot的index作为mark。注意内循环的条件是目标的value和index不匹配而不是当前值所在slot的index,因为当前slot对应的值可能不存在,就算存在,也应该由其他slot移动过来。 错误点: 阅读全文
posted @ 2016-04-15 11:27 absolute100 阅读(89) 评论(0) 推荐(0) 编辑
摘要: Wildcard Matching 要点: 基本code pattern是以待匹配string s为中心loop,一旦没有任何p的分支match,返回false。如果所有s匹配了,还要检查是不是p也exhausted,一种分支是剩下的p是’ ’,这样也可以匹配。 worst case: s: abc 阅读全文
posted @ 2016-04-15 11:26 absolute100 阅读(93) 评论(0) 推荐(0) 编辑
摘要: Wildcard Matching 要点: 基本code pattern是以待匹配string s为中心loop,一旦没有任何p的分支match,返回false。如果所有s匹配了,还要检查是不是p也exhausted,一种分支是剩下的p是’ ’,这样也可以匹配。 worst case: s: abc 阅读全文
posted @ 2016-04-15 06:23 absolute100 阅读(90) 评论(0) 推荐(0) 编辑