動態規划是通過找當前項和前一或幾項或后一或幾項的關系,從而對一個數組多次利用達到減少復雜度。
1.當一串數可以不限次利用時,采用順序的方式循環:for(j=0;j<=max_n;j++)(一維數組)或者加一個for(k=0;k*A[i]<=j;k++)(二維數組)
2.當一串數的使用次數有限時用for(k=0;k*A[i]<=j&&k<=B[i];k++)(二維數組)
3.當一串數的使用次數為一時,用倒序的方式循環:for(j=max_n;j>=0;j--)(一維數組),或者for(j=0;j<=max_n;j++)(二維數組);或者另外開一個一維數組,用來每i一次就記錄一次這個數組,格式一次前一個數組。