Javascript 试图解决许多制造硬币的方法,但我能';我不知道我的逻辑哪里有缺陷

Javascript 试图解决许多制造硬币的方法,但我能';我不知道我的逻辑哪里有缺陷,javascript,algorithm,dynamic-programming,Javascript,Algorithm,Dynamic Programming,我正在努力解决这个问题 你在一个有趣的集市的现金柜台工作,你可以买到无限数量的不同类型的硬币。每枚硬币的价值已经给出。您能否确定使用给定类型的硬币对特定数量的单位进行更改的方式数量 Sample Input 1 10 4 2 5 3 6 Sample Output 1 5 Explanation 1 There are five ways to make change for n = 10 units using coins with values given by C= [2,5,3,6]

我正在努力解决这个问题

你在一个有趣的集市的现金柜台工作,你可以买到无限数量的不同类型的硬币。每枚硬币的价值已经给出。您能否确定使用给定类型的硬币对特定数量的单位进行更改的方式数量

Sample Input 1
10 4
2 5 3 6

Sample Output 1
5
Explanation 1

There are five ways to make change for n = 10 units using coins with values given by C= [2,5,3,6]:

1) {2,2,2,2,2}
2) {2,2,3,3}
3) {2,2,6}
4) {2,3,5}
5) {5,5}
我写的代码是:

const getWays=(n,c)=>{
设m=c.长度
让矩阵=数组.from(新数组(m+1),()=>数组(n+1).fill(0))
控制台日志(矩阵);

对于(设i=0;i检查此递归算法)

函数getWays(n,c){ 常数len=c.长度 如果(n<0 | | len<1)返回0 如果(len==1){ 如果(n%c[0]==0)返回1 返回0 } 设cnt=0 for(设i=0;ifor(设j=c[i];j在
getWays
函数中没有返回值