这题感觉思路跟零钱兑换是一致的,但是代码通不过不知道为什么,看答案也没有人用V8通过,是语言的问题吗
let all=parseInt(readline()) let n=parseInt(readline()) let arr=readline().split(' ').map(x=>x*1) function fn(all,arr){ let dp=new Array(all+1).fill(Infinity) dp[0]=0 for(let i=1;i<=all;i++){ for(let item of arr){ if(i>=item){ dp[i]=Math.min(dp[i],dp[i-item]+1) } } } return arr[all]!==Infinity?arr[all]:0 } console.log(fn(all,arr))
全部评论
(1) 回帖