Given an infinite number of quarters (25 cents), dimes (10 cents), nickels (5 cents) and pennies (1 cent), write code to calculate the number of ways of representing n cents.

简单的DFS可以解决,书中的理解起来感觉有些复杂。不过可以放在一起对比验证 - DFS确实慢啊,大数据多半不能接受,加上一个简单的剪枝效果可以好很多,不过还是不如书上的解法快。

void makeChange(int sum, int *coins, int n, int start, int &result) {if (sum < 0) {return;}if (sum == 0) {++result;return;}for (int i = start; i < n; ++i) {// Only one solution if coin equals to 1if (i == n - 1) {++result;}else {makeChange(sum - coins[i], coins, n, i, result);}}
}int make_change(int n, int denom){int next_denom = 0;switch (denom){case 25:next_denom = 10;break;case 10:next_denom = 5;break;case 5:next_denom = 1;break;case 1:return 1;}int ways = 0;for(int i = 0; i*denom <= n; ++i)ways += make_change(n - i*denom, next_denom);return ways;
}int main(int argc, char **argv) {int coins[] = {25, 10, 5, 1};int result = 0;time_t s1 = time(NULL);makeChange(8000, coins, 4, 0, result);double diff = difftime(time(NULL), s1);cout << "The numbers to make change is: " << result << " and the time used is: " << diff << endl;s1 = time(NULL);result = make_change(8000, 25);diff = difftime(time(NULL), s1);cout << "The numbers to make_change is: " << result << " and the time used is: " << diff << endl;return 0;
}

CCI: Representing N cents相关推荐

  1. Craking the Interview-1

    1.6 90度旋转NxN矩阵 Given an image represented by an NxN matrix, where each pixel in the image is 4 bytes ...

  2. Cracking the coding interview

    转自:http://hawstein.com/posts/ctci-solutions-contents.html Cracking the coding interview--问题与解答 March ...

  3. 经典算法题目:Cracking the coding interview 问题与解答

    Cracking the coding interview--问题与解答 March 14, 2013 作者:Hawstein 出处: http://hawstein.com/posts/ctci-s ...

  4. Spring 中JCA CCI分析--转载

    转载地址:http://blog.csdn.net/a154832918/article/details/6790612 J2EE提供JCA(Java Connector Architecture)规 ...

  5. jndi ldap_什么是JNDI,SPI,CCI,LDAP和JCA?

    jndi ldap JNDI代表Java命名和目录接口 . 它是用于提供对目录服务(即,服务映射名称(字符串)与对象,对远程对象或简单数据的引用)访问的API. 这就是所谓的 约束力 . 绑定集称为上 ...

  6. 什么是JNDI,SPI,CCI,LDAP和JCA?

    JNDI代表Java命名和目录接口 . 它是用于提供对目录服务(即带有对象的服务映射名称(字符串),对远程对象或简单数据的引用)的访问的API. 这就是所谓的 约束力 . 绑定集称为上下文 . 应用程 ...

  7. matlab中Cci,【指标量化】超买超卖——CCI 顺势指标

    本帖最后由 TaoZzzzz 于 2018-4-16 15:30 编辑 [指标量化]超买超卖--CCI 顺势指标 1523335607(1).png (60.65 KB, 下载次数: 13) 2018 ...

  8. 性能测试之:loadrunner 报lr_load_dll 失败 CCI trace: vuser_init.c(6): ci_load_dll查证及解决过程...

    本项目需要调用dll进行ice接口的调用 按教材将开发提供的dll放到脚本下,调用脚本如下 vuser_init() {     //lr_load_dll("msvcrt.dll" ...

  9. 免费基金股票接口大全,macd,kdj,cci,威廉指标,神奇九转大全

    股票基金api接口地址:https://stockapi.com.cn 不想自己写的:https://stockapi.com.cn 相关章节说明 接口说明:日线macd数据查询 接口说明:日线kdj ...

  10. android画cci指标代码,大智慧CCI画线指标源码 副图公式

    相关标签: 大智慧cci指标选股 . cci指标实战技巧图解 . cci指标 . cci指标炒股绝招 . cci精准选股指标公式 . cci指标 最佳参数 . cci指标最优参数 . cci指标视频 ...

最新文章

  1. Android switchCompat. 和 Switch
  2. 为什么 SSH 的默认端口是 22 ?
  3. (理论篇)从基础文件IO说起虚拟内存,内存文件映射,零拷贝
  4. Python中defaultdict函数的使用方法
  5. 如何在戴尔M系列交换机上配置简单交换模式
  6. 如何帮孩子成为最好的自己
  7. 2010-12-1至2011-06-11
  8. 《ActionScript 3.0基础教程》——1.3 在显示面板输出信息
  9. mongo性能测试demo 代码正确运行
  10. php 实现rpc,使用php链接jsonrpc服务
  11. k3 审核流程图_K3Cloud 业务流程图Sql
  12. 黎活明给程序员的忠告 收藏
  13. 最新PHP全开源京东淘宝唯品会自动抢单系统源码
  14. python 马赛克还原_「马赛克画」利用Python生成马赛克画,简单两步去除马赛克! - seo实验室...
  15. 高等数学 —— 数列的极限
  16. 北航计算机691,2021考研:北京航空航天大学物理学专业691普通物理综合考试
  17. 【stm32c8t6多路舵机PWM输出】
  18. js中的debugger调试
  19. TIN的构建、Delaunay三角网、Voronoi图
  20. 一种简单快速的方式实现 Android App 的夜间模式

热门文章

  1. Java里面的Lambda表达式
  2. Mac快速关闭当前窗口
  3. 汽车OBD诊断系统介绍
  4. 计算机专业考研英语二国家线多少分,考研英语二国家线多少,2019年考研英语二国家线?...
  5. 免费企业邮箱怎么注册申请
  6. C++的64位整数[转]+gyy整理
  7. php精华之独孤九剑
  8. Linux那些让你虎躯一震的命令
  9. 高等数学笔记:三重积分下的坐标系变换
  10. HTML5系列代码:注册商标reg_和版权商标copy