以重复使用的，也就是说，更高级别的子问题通常会重用低级子问题的解。拥有这个两个属性的问题可以使用动态规划算法来解决，这样子问题的解就可以被储存起来，而不用重复计算。这个过程需要在一个表中储存同一级别的子问题的解，因此这个解可以被更高级的子问题使用。动态规划的一个计算最长公共子序列的方法如下，以两个序列formula_3、formula_4为例子：设有二维数组formula_5表示formula_3的formula_7位和formula_4的formula_9位之前的最长公共子序列的长度，则有：其中