博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
一道算法题-换钱
阅读量:6891 次
发布时间:2019-06-27

本文共 1920 字,大约阅读时间需要 6 分钟。

  题目:给定数组arr,arr中所有的值都为正数且不重复。每个值代表一种面值的货币,每种面值的货币可以使用任意张,再给定一个aim代表要找的钱数,求换钱有多少种方法。代码如下:

  

1 #include
2 #include
3 using namespace std; 4 //动态规划 5 class Exchange { 6 public: 7 int countWays(vector
penny, int n, int aim) 8 { 9 if(n==0||aim<0) 10 return 0; 11 int **map=new int*[n]; 12 for(int i=0;i
=0) 27 map[i][j]=map[i][j-penny[i]]+map[i-1][j]; 28 else 29 map[i][j]=map[i-1][j]; 30 return map[n-1][aim]; 31 } 32 33 }; 34 35 36 /*记忆搜索 37 class Exchange { 38 public: 39 int countWays(vector
penny, int n, int aim) 40 { 41 if(n==0||aim<0) 42 return 0; 43 int **map=new int*[n]; 44 for(int i=0;i
arr,int index,int aim,int **map) 53 { 54 int res; 55 if(arr.size()-1==index) 56 { 57 if(map[index][aim]==-1) 58 map[index][aim]=(aim%arr[index])?0:1; 59 return map[index][aim]; 60 } 61 else 62 { 63 res=0; 64 int k=aim/arr[index]; 65 for(int i=0;i<=k;i++) 66 { 67 if(map[index+1][aim-i*arr[index]]==-1) 68 map[index+1][aim-i*arr[index]]=process(arr,index+1,aim-i*arr[index],map); 69 res+=map[index+1][aim-i*arr[index]]; 70 } 71 } 72 return res; 73 } 74 };*/ 75 76 /*暴力搜索 77 class Exchange { 78 public: 79 int countWays(vector
penny, int n, int aim) 80 { 81 if(n==0||aim<0) 82 return 0; 83 return process(penny,0,aim); 84 85 } 86 int process(vector
arr,int index,int aim) 87 { 88 int res; 89 if(arr.size()-1==index) 90 { 91 res=(aim%arr[index])?0:1; 92 return res; 93 } 94 else 95 { 96 res=0; 97 int k=aim/arr[index]; 98 for(int i=0;i<=k;i++) 99 res+=process(arr,index+1,aim-i*arr[index]);100 }101 return res;102 }103 };*/104 105 int main()106 {107 int a[3]={ 1,2,3};108 vector
arr(a,a+3);109 Exchange e;110 cout<

 

 

 

  

转载于:https://www.cnblogs.com/smile233/p/8848260.html

你可能感兴趣的文章
看百度宣传片
查看>>
Java assert
查看>>
Impala与HBase整合
查看>>
c# 获取某个进程的CPU使用百分百(类似任务管理器中显示CPU)
查看>>
关于__GNU_SOURCE 这个宏---如何开启【转】
查看>>
【SQL】姗姗来迟的SQL Server 安装图解
查看>>
POJ 3017 单调队列dp
查看>>
【OneNote Mobile】 如何处理便签内容的格式?
查看>>
ios开发学习-弹出视图(Popup View) 效果源码分享--系列教程1
查看>>
css中 Span 元素的 width 属性无效果原因及多种解决方案
查看>>
ABP框架理论研究总结(典藏版)
查看>>
CNNVD发布2015年信息安全漏洞态势报告
查看>>
【深度】AI 入侵翻译,神经机器翻译进化让巴别塔7年内成真
查看>>
《Ext JS权威指南》——2.10节本章小结
查看>>
思科发布新系列智能协作终端产品
查看>>
脑芯编:窥脑究竟,织网造芯(一)
查看>>
《React Native移动开发实战》一一1.1 看透React Native
查看>>
大数据如何解决行业挑战?大数据在10个垂直行业中的应用
查看>>
分析师齐声唱多Facebook:发展势头凶猛 势不可挡
查看>>
Hadoop中ssh+IP、ssh+别名免秘钥登录配置
查看>>