波波老师,今天在做477题的时候,判断这个是一个很纯粹的01背包问题(准确的说是多重背包),背包的容量分别是0和1的个数m和n,要填的东西为字符串数组中的0 1数目,思路很简单,但是这类问题涉及到多维度的话,那么在细节中的把握个人觉得比较麻烦—>比如便利的顺序问题(通常在优化空间方面体现),因为我开始从前向后进行找规律的时候,发现会重复,比如剩余 0 1 or 1 0的时候会重复计算,这个时候我就陷入了沉思—>我的 0 1背包思路到底对不对,但是思考了很久之后觉得思路是没问题的,就是在填背包的时候的方向不对,于是尝试用笔画出从m n 开始到0 0 的顺序的遍历结果,发现对了。
所以我就有疑问,对于背包问题的遍历顺序,难道只可以通过画图的方式来事先模拟一遍才可以得出么?那么对于多维背包,这个工作量就变得稍许庞大,在面试中很可能会消耗很多时间-。-,请问有什么好的方法嘛?还是只可以慢慢按步骤来,反正不是从前向后就是从后向前,要么从上到下或者从下向上~~~~通过纯粹的手动模拟的方式找到最终的遍历顺序呢?