1. 程式人生 > >動態規劃 找零錢種數量

動態規劃 找零錢種數量

 

關鍵點:f[j] 到達錢數量j時的種數量

class Exchange {                //  [1,2,4],3,3
public:
    int countWays(vector<int> penny, int n, int aim) {
        // write code here
		int f[1000]; // aim 小於1000
		memset(f,0,sizeof(f)); f[0] = 1;
		for(int i = 0;i < n;++ i)
			for(int j = penny[i];j <= aim;++ j)
				f[j] += f[j - penny[i]];  // 組合的錢到達j時候的種數量
		return f[aim];
    }