. - 力扣(LeetCode)
双指针理解:
以整体和局部的角度考虑:
如果Left比Right矮,那么Left所有可能能组成的最大值此时就已经确定了,无论中间是否有比Right还要高的数;先记为Lmax
那么最终答案即为max(Lmax, Right与剩余的数的最优解)
继续分析如下图:
再去新的Left,与上一步的Right,以此类推..
即可获取最终答案
为什么没有遗漏?
因为每次移动矮的那个前,矮的那个最大值已经确定,未确定的是高的那个与剩余匹配的最大值。
. - 力扣(LeetCode)
双指针理解:
以整体和局部的角度考虑:
如果Left比Right矮,那么Left所有可能能组成的最大值此时就已经确定了,无论中间是否有比Right还要高的数;先记为Lmax
那么最终答案即为max(Lmax, Right与剩余的数的最优解)
继续分析如下图:
再去新的Left,与上一步的Right,以此类推..
即可获取最终答案
为什么没有遗漏?
因为每次移动矮的那个前,矮的那个最大值已经确定,未确定的是高的那个与剩余匹配的最大值。