暴力搜索方法
arr{5.10.25.1},aim=1000。
1、用0张5元的货币,让{10.25.1}组成剩下的1000,最终方法记为res1
2、用1张5元的货币,让{10.25.1}组成剩下的995,最终方法记为
res2
……….
201/用200张5元的货币,让{10.25.1}组成剩下的0,最终方法记为
res201;
记忆搜索的方法:
动态规划方法
经典问题:
找零钱问题
涉及到的相关问题
void *memset(void *s, int ch, size_t n);
函数解释:将s中前n个字节替换为ch并返回s;
memset:作用是在一段内存块中填充某个给定的值,它是对较大的结构体或数组进行清零操作的一种最快方法。
问题1、找零钱问题
有数组penny,penny中所有的值都为正数且不重复。每个值代表一种面值的货币,每种面值的货币可以使用任意张,再给定一个整数aim(小于等于1000)代表要找的钱数,求换钱有多少种方法。
给定数组penny及它的大小(小于等于50),同时给定一个整数aim,请返回有多少种方法可以凑成aim。
测试样例:
[1,2,4],3,3
返回:2
这里写代码片