fvdcx's blog


  • 首页

  • 分类

  • 关于

  • 归档

  • 标签

leetcode-regular-expression-match

发表于 2016-12-16   |   分类于 算法 , leetcode   |  

题目大意

  https://leetcode.com/problems/regular-expression-matching/

  跟这个题类似https://leetcode.com/problems/wildcard-matching/,只是匹配规则变化

题目分析

  记忆化搜索,详细解释可以看注释

阅读全文 »

leetcode-rotate-list

发表于 2016-12-15   |   分类于 算法 , leetcode   |  

题目大意

  https://leetcode.com/problems/rotate-list

  从右边第k个位置“反转”链表,看了好半天才明白题意,原来是右边的k个元素作为新链表的前k个元素,剩余的做为新链表的剩余元素。

题目分析

  我的方法是先算出链表长度,然后把前len - k个链接到链表尾部,但要注意一些特殊情况,如果k大于链表长度,则对k取len的模,如果取模等于0,相当于链表不做任何操作。

阅读全文 »

leetcode-wildcard-matching

发表于 2016-12-14   |   分类于 算法 , leetcode   |  

题目大意

  https://leetcode.com/problems/wildcard-matching/

  判断一个字符串s是否满足模式串p,p中所含匹配符只可能是*或 ?

题目分析

  典型的动态规划,下面我是用记忆化搜索实现,注意不能用int数组保存状态,否则会超内存,其实仅仅需要三个状态,因此用char数组就可以,0代表未计算过,1代表true,2代表false。

阅读全文 »

leetcode-spiral-matrix-i-ii

发表于 2016-12-14   |   分类于 算法 , leetcode   |  

题目大意

  https://leetcode.com/problems/spiral-matrix/

  https://leetcode.com/problems/spiral-matrix-ii/

  这两个题目本质上是一道题,都是螺旋式或者生成打印矩阵

题目分析

  最开始我的实现还是每行或者每列少打印一个,留给下一列或者下一行处理,这样导致最后还要特殊判断到底是剩下1行/列,或者是两行/列。导致代码极其不优雅,虽然可以AC。我觉得刷leetcode目标不仅仅是AC,更要追求时间/空间复杂度,以及代码的优雅。看了disscuss区的高票答案,就是简单的每次“缩减”行或者列就可以很优雅的解出来。至于Spiral Matrix II反而更简单,题目要求的是生成螺旋正方形,可以几乎完全复用代码即可。

阅读全文 »
1…202122…38
fvdcx

fvdcx

149 日志
14 分类
20 标签
GitHub
© 2015 - 2017 fvdcx
由 Hexo 强力驱动
主题 - NexT.Pisces