波波老师,leetcode343这题,在求取最大值的时候,那个只考虑分成2部分的比较
memo[i] = max3(memo[i], j * (i - j), j * memo[i - j]);
真的好难想出来哇,请问,这个只分成2部分的j * (i - j)可以不写嘛?因为我感觉我打死也不会想到哇,请问为什么加入这句话呢,波波老师可以解释下吗?还有,在memory search中,您加入了Arrays.fill(memo, -1);这句话,请问在dp写法中,不对memo赋值会不会影响max3的比较呢?我试着加上了这句话发现复杂度高了很多。。。
题外话:我感觉动态规划好难哇,感觉要复习数学了。。。最近忙着应付数据库考试,刷题什么的放了好久,哎。。