一般来说面对一道算法题首先我们先需要对题目进行拆解寻找到解题思路。针对这道题一开始可能想到的解决办法是直接用暴力法。即尝试所有可能的连续子序列计算它们的和然后找到最大的和这是最简单也是最直接的思路。但暴力法存在一个很大的问题就是它的时间复杂度较高为 O(n²) 很明显这不是最有效解决方法它也不是题目考察的重点题目真正想考察的是动态规划是一种很常见的算法思维模型。此时又产生了新的疑问怎么知道它考的是动态规划这个算法思维模型呢这就跟下面这个问题有关。如何解决无法完全理解题目的问题?前文中提到此题是考察动态规划的但又是如何分辨出此题是考察动态规划的呢其实这跟对题目的理解程度有关需要学会在题面中寻找关键信息。首先注意题目里这句话其次注意题目给出的三个示例以上两点都在暗示此题是涉及多个重叠的子问题以及寻找最优子结构的情况。而这两点正是动态规划最明显的两个特征和模式。