可以用动态规划, dp[i]=min j {dp[i-j]+1} 。这道题一般是不能用贪心的,之所以第一种情况可以用的原因如下:67去掉尽可能多个25,也就是去掉两个25,剩下17,17的最少组合是10,5,2这三个硬币。如果不使用25,67减去尽可能多的10之后,剩下7,最优组合是5,2, 1也是三个硬币。而67里能减去25的个数肯定小于等于能减去10的个数,所以最优解是尽可能减去25。同样的道理,对于10,5,2这三个面值,也可以得出结论,优先使用大面值一定是最优解。
点赞 2

相关推荐

05-09 14:45
门头沟学院 Java
点赞 评论 收藏
分享
牛客网
牛客企业服务