import java.util.*; /** * @author jerryzhuo * @since 2019/8/24 * 京东合唱团笔试题,时间超时 * 带备忘的动态规划 * 思想是每次找出自数组可以分成的最大组数量 * 比如数组array,如果leftIndex < i < righIndex, 在区间【leftIndex,i -1] 的最大值 < 区间【i,rightIndex】的最小值 * 找出所有的i,然后 result = Max.max(result, dfs(leftIndex,i - 1) + dfs(i, rightIndex)) ...