Java教程

动态规划之背包问题(小结)

本文主要是介绍动态规划之背包问题(小结),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

看了一下大佬总结的关于背包问题,如醍醐灌顶

作者:Jackie1995
链接:https://leetcode-cn.com/problems/combination-sum-iv/solution/xi-wang-yong-yi-chong-gui-lu-gao-ding-bei-bao-wen-/

常见的背包问题有一下三种:

  1、组合问题

      状态转移公式:dp[ i ] += dp[ i - num ]

  2、真假问题

      状态转移方程:dp[ i ] = dp[ i ] or dp[ i - num ]

  3、最大最小问题

      状态转移方程:dp[ i ] = min(dp[ i ], dp[ i - num ] + 1)或者dp[ i ] = max(dp[ i ], dp[ i - num ]+1)

 

 注意:如果需要考虑组合之间的顺序问题,那么target要放在外循环,不考虑的话target放在内循环

 

这篇关于动态规划之背包问题(小结)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!