买鸡蛋问题

问题描述:超市有4种包装的鸡蛋,分别是3个一盒,6个一盒,9个一盒和20个一盒。问顾客要买N个鸡蛋时,所有的组合方案。(Morgen
Stanley 2014 Intern).


 1 void BuyeggsCore(vector<const int> &coins, const int target, int sum, int i, vector<int> &count, vector<vector<int>> &ret) {
2 if (i >= 4) return;
3 int left_value = target - sum;
4 for (int j = 0; j * coins[i] <= left_value; ++j) {
5 sum = target - left_value + j * coins[i];
6 count[i] = j;
7 if (sum == target) {
8 ret.push_back(count);
9 }
10 else if (sum < target) {
11 BuyeggsCore(coins, target, sum, i + 1, count, ret);
12 }
13 }
14 }
15
16 vector<vector<int>> BuyEggs(vector<const int> &coins, const int target) {
17 vector<vector<int>> ret;
18 vector<int> count;
19 count.resize(coins.size());
20 BuyeggsCore(coins, target, 0, 0, count, ret);
21 return ret;
22 }
23

买鸡蛋问题,布布扣,bubuko.com

时间: 2024-08-28 14:03:33

买鸡蛋问题的相关文章

FP-tree算法实现

支持度和置信度 严格地说Apriori和FP-Tree都是寻找频繁项集的算法,频繁项集就是所谓的"支持度"比较高的项集,下面解释一下支持度和置信度的概念. 设事务数据库为: A E F G A F G A B E F G E F G 则{A,F,G}的支持度数为3,支持度为3/4. {F,G}的支持度数为4,支持度为4/4. {A}的支持度数为3,支持度为3/4. {F,G}=>{A}的置信度为:{A,F,G}的支持度数 除以 {F,G}的支持度数,即3/4 {A}=>{F

机器学习day16 机器学习实战Apriori算法进行关联分析

上一章学习了非监督学习的聚类,聚类算法可以将不同性质的分类分开.这两天学习了apriori算法进行关联分析,感觉是目前最难理解的一章了,并且书中还有个很坑爹的错误,作者存在很大的疏忽. Apriori算法关联分析:从大规模数据集中寻找物品间的隐含关系被称作关联分析或者关联规则学习. 关联分析应用1:我们以前学习的是根据特性进行分类或者回归预测,并没有挖掘特性之间的关系,关联分析可以用于分析数据集中特性之间的关系,可以得到哪些特性频繁的共同出现或者特性之间的关系(比如出现特性A就会很大几率出现特性

OSChina 周六乱弹 —— 这个版本的小红帽听说过吗?

想想当年刚出来工作的时候,小小编还真是单纯,以为广阔天地大有作为,可是呢... @上热门:刚出来工作的时候,大人千叮万嘱社会很复杂,要学会控制自己,不能做的事千万不要去做.社会上充满了陷井和诱惑,遇到漂亮的女人得注意点,小心点,别被骗了! 现在出来工作都几年了,我只想问一句:当初说好的诱惑呢? 小小编想说,就让"诱惑"玩命地腐化我吧~ 仔细想想,我所有完美的未来蓝图,皆是建立在"等我有钱了"的基础上...via:我的大几把岁了 人穷则志短,说的就是我. 还好穷的不止

回忆中的倾诉,让我们找回自我

有时候,我会在想,我到底获得了什么?从初中到现在,我唯一获得的,可能仅仅只有编程和电脑了,对我来说,我的生活或许总是单调的,但这并不算什么. 还记得我小学的时候,有一次中午,我记得很清楚,当时不知道谁说了一声,下午带课外书回校,然后我还真带回校了,其实根本没有这事,反而是我自己,被课外书迷上去了,结果,回到家被打了一顿,当然了,那次确实是我错了,再加上我奶奶以为我是骗他.不过,现在想想看,我还真不敢相信我的耳朵,这也是后来总是希望确认一次事实的原因,我怕弄错,我不知道我耳朵听到的是不是事实,如果

卖米粉不要拿互联网思维说事

7月19日,"腾讯产品家沙龙:90后企业家专场"在北京举行.本文是伏牛堂创始人张天一在腾讯产品家沙龙上的分享内容. 张天一生于1990年.伏牛堂创始人.北大法学硕士.今年四月,他写的<我硕士毕业为什么卖米粉>在朋友圈广为传播,"硕士粉"一时成为热词. 下面为张天一的讲话全文. 一.不想堵车才骑自行车 简单的说我就是卖米粉的.我的店叫伏牛堂,今年4月4号成立.最早是由我和三位小伙伴,凑了10万块钱.找了高大上的环球金融中心的地下室的拐角,开了一家30平的.

JavaScript面向对象(一)——JS OOP基础与JS 中This指向详解

  前  言 JRedu 学过程序语言的都知道,我们的程序语言进化是从"面向机器".到"面向过程".再到"面向对象"一步步的发展而来.类似于汇编语言这样的面向机器的语言,随着时代的发展已经逐渐淘汰:而面向过程的语言也只有C语言老大哥依然坚挺:现在主流的语言(例如Java.C++.PHP等)都是面向对象的语言. 而我们的JavaScript语言,恰恰介于面向过程与面向对象之间,我们称它为"基于对象"的语言.但是,JS中的OOP依

猜身份

题目描述:有4个朋友住在一个小城鎮里.他们的名字是库克.米勒.史密斯.卡特.他们一个是警察,一个是木匠,一个是农民,一个是医生. 一天,库克的儿子摔断了腿,库克帶他去找医生.医生有个妹妹是`史密斯的妻子.农民沒有结过婚,他养着许多母鸡.米勒经常去农民家里买鸡蛋.警察每天都能见到史密斯,因为他们是邻居.请问,他们4个人中谁是警察?谁是木匠?谁是农民?谁是医生? 题解:1.库克有儿子-〉库克已结婚2.库克去找医生-〉库克不是医生3.史密斯妻子-〉史密斯已结婚4.医生的妹妹是史密斯妻子-〉史密斯不是医

转:操作系统课程是如何改变我的

操作系统课程是如何改变我的 在普林斯顿大学有很多课程改变了我,就像COS 318(操作系统课程).它极有挑战,耗时耗力,但是当我学完后回头想想,我很庆幸我选了这门课. 我当初选择这门课程的时候很犹豫,因为周围的人都这么说: 操作系统课程听起来非常难 操作系统课程是为那些喜欢计算机底层的人设计的 操作系统课程非常浪费时间,而且你平常很少用到这方面的知识 这门课毫无疑问非常难,但是不妨暂时放下你之前听到的对它的偏见.不学它并不会毁掉你软件工程师的生涯,但是如果你真的学过了它,你将会在很多方面获得启发

第四讲 社会主义初级阶段的分配与消费

第四讲  社会主义初级阶段的分配与消费1 <马克思主义与改革>(经济学篇) 第一节  我国国民收入的分配 一.社会总产值和国民收入 社会总产值是指我国一年内由物质生产部门劳动者生产出来的社会总产品的总价值.全国在一年中生产的物质资料,表现为实物形式和价值形式.从实物上称为社会总产品,它分为生产资料和消费资料两部分:从价值上称为社会总产值,它分为生产中消耗的生产资料旧价值和劳动者创造的新价值.其中新价值又分为两部分,一是劳动力价值即劳动者报酬,二是剩余价值即经营利润. 国民收入是社会总产值的一部