算法打卡第三天

41 阅读1分钟

01背包问题

  • 1、先了解dp下面对应的是啥,一般dp数组的长度就是总共可以容纳多大的背包。
  • 2、更新方法dp[i]=Math.max(dp[i],dp[i-nums[j]]+nums[j]);(如果使用一维数组进行更新,则使用逆遍历) -3、如果是求数量的,则为dp[i]=Math.max(dp[i],dp[i-nums[j]]+1) LC560 求连续数组之和为x有多少个 先遍历外围的for 内部的for遍历为倒序遍历,相加到等于x