摘要: 转自:labuladong公众号 子序列问题是常见的算法问题,而且并不好解决。 首先,子序列问题本身就相对子串、子数组更困难一些,因为前者是不连续的序列,而后两者是连续的,就算穷举都不容易,更别说求解相关的算法问题了。 而且,子序列问题很可能涉及到两个字符串,比如让你求两个字符串的 最长公共子序列, 阅读全文
posted @ 2020-03-04 23:28 飞翔在天 阅读(814) 评论(0) 推荐(0) 编辑
摘要: 转自:labuladong公众号 很多读者反应,就算看了前文 动态规划详解,了解了动态规划的套路,也不会写状态转移方程,没有思路,怎么办?本文就借助「最长递增子序列」来讲一种设计动态规划的通用技巧:数学归纳思想。 最长递增子序列(Longest Increasing Subsequence,简写 L 阅读全文
posted @ 2020-03-04 23:22 飞翔在天 阅读(485) 评论(0) 推荐(0) 编辑
摘要: 转载自:labuladong公众号 回文串是面试常常遇到的问题(虽然问题本身没啥意义),本文就告诉你回文串问题的核心思想是什么。 首先,明确一下什:回文串就是正着读和反着读都一样的字符串。 比如说字符串aba和abba都是回文串,因为它们对称,反过来还是和本身一样。反之,字符串abac就不是回文串。 阅读全文
posted @ 2020-03-04 23:11 飞翔在天 阅读(793) 评论(0) 推荐(0) 编辑
摘要: 转载自:labuladong公众号 最长公共子序列(Longest Common Subsequence,简称 LCS)是一道非常经典的面试题目,因为它的解法是典型的二维动态规划,大部分比较困难的字符串问题都和这个问题一个套路,比如说编辑距离。而且,这个算法稍加改造就可以用于解决其他问题,所以说 L 阅读全文
posted @ 2020-03-04 23:07 飞翔在天 阅读(610) 评论(0) 推荐(0) 编辑