硬币改变。动态编程

时间:2017-04-07 21:07:04

标签: dynamic-programming coin-change

我在网上找到了这个算法但它有效,但我不知道为什么。即使有一个视频解释它。

以下是代码:

public int numberOfSolutionsOnSpace(int total, int arr[]){

    int temp[] = new int[total+1];

    temp[0] = 1;
    for(int i=0; i < arr.length; i++){
        for(int j=1; j <= total ; j++){
            if(j >= arr[i]){
                temp[j] += temp[j-arr[i]];
            }
        }
    }
    return temp[total];
}

说明:YouTube

你能帮我理解为什么这个算法有效吗?确切地说,我不明白为什么我们必须“返回步骤添加”(视频2:30)

0 个答案:

没有答案