这题的难点在于如何处理第二次交易。 我首先从后往前遍历数组,f[i]表示从i点开始到结尾 进行的一次交易的最大收益。 第二次交易处理完了,就可以用常见的方法进行类似一次交易,每次比较时再加上对应的f[i+1]即可。 res = Math.max(res,prices[i]-min + f[i+1]);最后需要注意一点,并没有要求一定要进行两次交易。 import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * 两次交易所能获得的最大收益 ...