Backpack

思路:
State: dp[i][j]表示前i个石头,能不能恰好装满值j。
Transition: dp[i][j]=dp[i-1][j-A[i-1]] || dp[i-1][j]。这里的思路和house robbery很想,分2种状态,取或者不取i。取i要满足条件,那么前i-1个石头必须填满j-A[i-1]的值。不取i,那么前i-1个石头能够把j填满。

实现:
要检查j-A[i-1]是否大于0,否则会indexoutofbond.

评论

此博客中的热门博文

776. Split BST

663. Equal Tree Partition

532. K-diff Pairs in an Array